{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# corus"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table>\n",
       "<tr>\n",
       "<th>Dataset</th>\n",
       "<th>API <code>from corus import</code></th>\n",
       "<th>Tags</th>\n",
       "<th>Texts</th>\n",
       "<th>Uncompressed</th>\n",
       "<th>Description</th>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/yutkin/Lenta.Ru-News-Dataset\">Lenta.ru</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Lenta.ru v1.0\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_lenta\"></a>\n",
       "<code><a href=\"#load_lenta\">load_lenta</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "739&nbsp;351\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.66 Gb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/yutkin/Lenta.Ru-News-Dataset/releases/download/v1.0/lenta-ru-news.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Lenta.ru v1.1+\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_lenta2\"></a>\n",
       "<code><a href=\"#load_lenta2\">load_lenta2</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "800&nbsp;975\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.94 Gb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/yutkin/Lenta.Ru-News-Dataset/releases/download/v1.1/lenta-ru-news.csv.bz2</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://russe.nlpub.org/downloads/\">Lib.rus.ec</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_librusec\"></a>\n",
       "<code><a href=\"#load_librusec\">load_librusec</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>fiction</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "301&nbsp;871\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "144.92 Gb\n",
       "</td>\n",
       "<td>\n",
       "Dump of lib.rus.ec prepared for RUSSE workshop\n",
       "</br>\n",
       "</br>\n",
       "<code>wget http://panchenko.me/data/russe/librusec_fb2.plain.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/RossiyaSegodnya/ria_news_dataset\">Rossiya Segodnya</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ria_raw\"></a>\n",
       "<code><a href=\"#load_ria_raw\">load_ria_raw</a></code>\n",
       "</br>\n",
       "<a name=\"load_ria\"></a>\n",
       "<code><a href=\"#load_ria\">load_ria</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;003&nbsp;869\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "3.70 Gb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/RossiyaSegodnya/ria_news_dataset/raw/master/ria.json.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"http://study.mokoron.com/\">Mokoron Russian Twitter Corpus</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_mokoron\"></a>\n",
       "<code><a href=\"#load_mokoron\">load_mokoron</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>social</code>\n",
       "<code>sentiment</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "17&nbsp;633&nbsp;417\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.86 Gb\n",
       "</td>\n",
       "<td>\n",
       "Russian Twitter sentiment markup\n",
       "</br>\n",
       "</br>\n",
       "Manually download https://www.dropbox.com/s/9egqjszeicki4ho/db.sql\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://dumps.wikimedia.org/\">Wikipedia</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_wiki\"></a>\n",
       "<code><a href=\"#load_wiki\">load_wiki</a></code>\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;541&nbsp;401\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "12.94 Gb\n",
       "</td>\n",
       "<td>\n",
       "Russian Wiki dump\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://dumps.wikimedia.org/ruwiki/latest/ruwiki-latest-pages-articles.xml.bz2</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/dialogue-evaluation/GramEval2020\">GramEval2020</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_gramru\"></a>\n",
       "<code><a href=\"#load_gramru\">load_gramru</a></code>\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "162&nbsp;372\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "30.04 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/dialogue-evaluation/GramEval2020/archive/master.zip</code>\n",
       "</br>\n",
       "<code>unzip master.zip</code>\n",
       "</br>\n",
       "<code>mv GramEval2020-master/dataTrain train</code>\n",
       "</br>\n",
       "<code>mv GramEval2020-master/dataOpenTest dev</code>\n",
       "</br>\n",
       "<code>rm -r master.zip GramEval2020-master</code>\n",
       "</br>\n",
       "<code>wget https://github.com/AlexeySorokin/GramEval2020/raw/master/data/GramEval_private_test.conllu</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"http://opencorpora.org/\">OpenCorpora</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_corpora\"></a>\n",
       "<code><a href=\"#load_corpora\">load_corpora</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "4&nbsp;030\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "20.21 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget http://opencorpora.org/files/export/annot/annot.opcorpora.xml.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "RusVectores SimLex-965\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_simlex\"></a>\n",
       "<code><a href=\"#load_simlex\">load_simlex</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>emb</code>\n",
       "<code>sim</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://rusvectores.org/static/testsets/ru_simlex965_tagged.tsv</code>\n",
       "</br>\n",
       "<code>wget https://rusvectores.org/static/testsets/ru_simlex965.tsv</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://omnia-russica.github.io/\">Omnia Russica</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_omnia\"></a>\n",
       "<code><a href=\"#load_omnia\">load_omnia</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "<code>web</code>\n",
       "<code>fiction</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "489.62 Gb\n",
       "</td>\n",
       "<td>\n",
       "Taiga + Wiki + Araneum. Read \"Even larger Russian corpus\" https://events.spbu.ru/eventsContent/events/2019/corpora/corp_sborn.pdf\n",
       "</br>\n",
       "</br>\n",
       "Manually download http://bit.ly/2ZT4BY9\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/dialogue-evaluation/factRuEval-2016/\">factRuEval-2016</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_factru\"></a>\n",
       "<code><a href=\"#load_factru\">load_factru</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>ner</code>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "254\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "969.27 Kb\n",
       "</td>\n",
       "<td>\n",
       "Manual PER, LOC, ORG markup prepared for 2016 Dialog competition\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://github.com/dialogue-evaluation/factRuEval-2016/archive/master.zip</code>\n",
       "</br>\n",
       "<code>unzip master.zip</code>\n",
       "</br>\n",
       "<code>rm master.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://www.researchgate.net/publication/262203599_Introducing_Baselines_for_Russian_Named_Entity_Recognition\">Gareev</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_gareev\"></a>\n",
       "<code><a href=\"#load_gareev\">load_gareev</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>ner</code>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "97\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "455.02 Kb\n",
       "</td>\n",
       "<td>\n",
       "Manual PER, ORG markup (no LOC)\n",
       "</br>\n",
       "</br>\n",
       "Email Rinat Gareev (gareev-rm@yandex.ru) ask for dataset\n",
       "</br>\n",
       "<code>tar -xvf rus-ner-news-corpus.iob.tar.gz</code>\n",
       "</br>\n",
       "<code>rm rus-ner-news-corpus.iob.tar.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"http://www.labinform.ru/pub/named_entities/\">Collection5</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ne5\"></a>\n",
       "<code><a href=\"#load_ne5\">load_ne5</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>ner</code>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;000\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "2.96 Mb\n",
       "</td>\n",
       "<td>\n",
       "News articles with manual PER, LOC, ORG markup\n",
       "</br>\n",
       "</br>\n",
       "<code>wget http://www.labinform.ru/pub/named_entities/collection5.zip</code>\n",
       "</br>\n",
       "<code>unzip collection5.zip</code>\n",
       "</br>\n",
       "<code>rm collection5.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://www.aclweb.org/anthology/I17-1042\">WiNER</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_wikiner\"></a>\n",
       "<code><a href=\"#load_wikiner\">load_wikiner</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>ner</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "203&nbsp;287\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "36.15 Mb\n",
       "</td>\n",
       "<td>\n",
       "Sentences from Wiki auto annotated with PER, LOC, ORG tags\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://github.com/dice-group/FOX/raw/master/input/Wikiner/aij-wikiner-ru-wp3.bz2</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"http://bsnlp.cs.helsinki.fi/shared_task.html\">BSNLP-2019</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_bsnlp\"></a>\n",
       "<code><a href=\"#load_bsnlp\">load_bsnlp</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>ner</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "464\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.16 Mb\n",
       "</td>\n",
       "<td>\n",
       "Markup prepared for 2019 BSNLP Shared Task\n",
       "</br>\n",
       "</br>\n",
       "<code>wget http://bsnlp.cs.helsinki.fi/TRAININGDATA_BSNLP_2019_shared_task.zip</code>\n",
       "</br>\n",
       "<code>wget http://bsnlp.cs.helsinki.fi/TESTDATA_BSNLP_2019_shared_task.zip</code>\n",
       "</br>\n",
       "<code>unzip TRAININGDATA_BSNLP_2019_shared_task.zip</code>\n",
       "</br>\n",
       "<code>unzip TESTDATA_BSNLP_2019_shared_task.zip -d test_pl_cs_ru_bg</code>\n",
       "</br>\n",
       "<code>rm TRAININGDATA_BSNLP_2019_shared_task.zip TESTDATA_BSNLP_2019_shared_task.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"http://ai-center.botik.ru/Airec/index.php/ru/collections/28-persons-1000\">Persons-1000</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_persons\"></a>\n",
       "<code><a href=\"#load_persons\">load_persons</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>ner</code>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;000\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "2.96 Mb\n",
       "</td>\n",
       "<td>\n",
       "Same as Collection5, only PER markup + normalized names\n",
       "</br>\n",
       "</br>\n",
       "<code>wget http://ai-center.botik.ru/Airec/ai-resources/Persons-1000.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/cimm-kzn/RuDReC\">The Russian Drug Reaction Corpus (RuDReC)</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_rudrec\"></a>\n",
       "<code><a href=\"#load_rudrec\">load_rudrec</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>ner</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "4&nbsp;809\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.73 Kb\n",
       "</td>\n",
       "<td>\n",
       "RuDReC is a new partially annotated corpus of consumer reviews in Russian about pharmaceutical products for the detection of health-related named entities and the effectiveness of pharmaceutical products. Here you can download and work with the annotated part, to get the raw part (1.4M reviews) please refer to https://github.com/cimm-kzn/RuDReC.\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://github.com/cimm-kzn/RuDReC/raw/master/data/rudrec_annotated.json</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://tatianashavrina.github.io/taiga_site/\">Taiga</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "Large collection of Russian texts from various sources: news sites, magazines, literacy, social networks\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://linghub.ru/static/Taiga/retagged_taiga.tar.gz</code>\n",
       "</br>\n",
       "<code>tar -xzvf retagged_taiga.tar.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Arzamas\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_arzamas\"></a>\n",
       "<code><a href=\"#load_taiga_arzamas\">load_taiga_arzamas</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "311\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "4.50 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Fontanka\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_fontanka\"></a>\n",
       "<code><a href=\"#load_taiga_fontanka\">load_taiga_fontanka</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "342&nbsp;683\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "786.23 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Interfax\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_interfax\"></a>\n",
       "<code><a href=\"#load_taiga_interfax\">load_taiga_interfax</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "46&nbsp;429\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "77.55 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "KP\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_kp\"></a>\n",
       "<code><a href=\"#load_taiga_kp\">load_taiga_kp</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "45&nbsp;503\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "61.79 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Lenta\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_lenta\"></a>\n",
       "<code><a href=\"#load_taiga_lenta\">load_taiga_lenta</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "36&nbsp;446\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "95.15 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Taiga/N+1\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_nplus1\"></a>\n",
       "<code><a href=\"#load_taiga_nplus1\">load_taiga_nplus1</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "7&nbsp;696\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "24.96 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Magazines\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_magazines\"></a>\n",
       "<code><a href=\"#load_taiga_magazines\">load_taiga_magazines</a></code>\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "39&nbsp;890\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "2.19 Gb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Subtitles\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_subtitles\"></a>\n",
       "<code><a href=\"#load_taiga_subtitles\">load_taiga_subtitles</a></code>\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "19&nbsp;011\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "909.08 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Social\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_social\"></a>\n",
       "<code><a href=\"#load_taiga_social\">load_taiga_social</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>social</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;876&nbsp;442\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "648.18 Mb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Proza\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_proza\"></a>\n",
       "<code><a href=\"#load_taiga_proza\">load_taiga_proza</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>fiction</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;732&nbsp;434\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "38.25 Gb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Stihi\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_taiga_stihi\"></a>\n",
       "<code><a href=\"#load_taiga_stihi\">load_taiga_stihi</a></code>\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "9&nbsp;157&nbsp;686\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "12.80 Gb\n",
       "</td>\n",
       "<td>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/buriy/russian-nlp-datasets/releases\">Russian NLP Datasets</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "Several Russian news datasets from webhose.io, lenta.ru and other news sites.\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "News\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_buriy_news\"></a>\n",
       "<code><a href=\"#load_buriy_news\">load_buriy_news</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "2&nbsp;154&nbsp;801\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "6.84 Gb\n",
       "</td>\n",
       "<td>\n",
       "Dump of top 40 news + 20 fashion news sites.\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://github.com/buriy/russian-nlp-datasets/releases/download/r4/news-articles-2014.tar.bz2</code>\n",
       "</br>\n",
       "<code>wget https://github.com/buriy/russian-nlp-datasets/releases/download/r4/news-articles-2015-part1.tar.bz2</code>\n",
       "</br>\n",
       "<code>wget https://github.com/buriy/russian-nlp-datasets/releases/download/r4/news-articles-2015-part2.tar.bz2</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Webhose\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_buriy_webhose\"></a>\n",
       "<code><a href=\"#load_buriy_webhose\">load_buriy_webhose</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "285&nbsp;965\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "859.32 Mb\n",
       "</td>\n",
       "<td>\n",
       "Dump from webhose.io, 300 sources for one month.\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://github.com/buriy/russian-nlp-datasets/releases/download/r4/webhose-2016.tar.bz2</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/ods-ai-ml4sg/proj_news_viz/releases/tag/data\">ODS #proj_news_viz</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "Several news sites scraped by members of #proj_news_viz ODS project.\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Interfax\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ods_interfax\"></a>\n",
       "<code><a href=\"#load_ods_interfax\">load_ods_interfax</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "543&nbsp;961\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.22 Gb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/ods-ai-ml4sg/proj_news_viz/releases/download/data/interfax.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Gazeta\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ods_gazeta\"></a>\n",
       "<code><a href=\"#load_ods_gazeta\">load_ods_gazeta</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "865&nbsp;847\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.63 Gb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/ods-ai-ml4sg/proj_news_viz/releases/download/data/gazeta.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Izvestia\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ods_izvestia\"></a>\n",
       "<code><a href=\"#load_ods_izvestia\">load_ods_izvestia</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "86&nbsp;601\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "307.19 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/ods-ai-ml4sg/proj_news_viz/releases/download/data/iz.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Meduza\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ods_meduza\"></a>\n",
       "<code><a href=\"#load_ods_meduza\">load_ods_meduza</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "71&nbsp;806\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "270.11 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/ods-ai-ml4sg/proj_news_viz/releases/download/data/meduza.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "RIA\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ods_ria\"></a>\n",
       "<code><a href=\"#load_ods_ria\">load_ods_ria</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "101&nbsp;543\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "233.88 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/ods-ai-ml4sg/proj_news_viz/releases/download/data/ria.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Russia Today\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ods_rt\"></a>\n",
       "<code><a href=\"#load_ods_rt\">load_ods_rt</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "106&nbsp;644\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "187.12 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/ods-ai-ml4sg/proj_news_viz/releases/download/data/rt.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "TASS\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ods_tass\"></a>\n",
       "<code><a href=\"#load_ods_tass\">load_ods_tass</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>news</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;135&nbsp;635\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "3.27 Gb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/ods-ai-ml4sg/proj_news_viz/releases/download/data/tass-001.csv.gz</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://universaldependencies.org/\">Universal Dependencies</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "GSD\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ud_gsd\"></a>\n",
       "<code><a href=\"#load_ud_gsd\">load_ud_gsd</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "<code>syntax</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "5&nbsp;030\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1.01 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-GSD/raw/master/ru_gsd-ud-dev.conllu</code>\n",
       "</br>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-GSD/raw/master/ru_gsd-ud-test.conllu</code>\n",
       "</br>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-GSD/raw/master/ru_gsd-ud-train.conllu</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Taiga\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ud_taiga\"></a>\n",
       "<code><a href=\"#load_ud_taiga\">load_ud_taiga</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "<code>syntax</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "3&nbsp;264\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "353.80 Kb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-Taiga/raw/master/ru_taiga-ud-dev.conllu</code>\n",
       "</br>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-Taiga/raw/master/ru_taiga-ud-test.conllu</code>\n",
       "</br>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-Taiga/raw/master/ru_taiga-ud-train.conllu</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "PUD\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ud_pud\"></a>\n",
       "<code><a href=\"#load_ud_pud\">load_ud_pud</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "<code>syntax</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "1&nbsp;000\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "207.78 Kb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-PUD/raw/master/ru_pud-ud-test.conllu</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "SynTagRus\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ud_syntag\"></a>\n",
       "<code><a href=\"#load_ud_syntag\">load_ud_syntag</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "<code>syntax</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "61&nbsp;889\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "11.33 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-SynTagRus/raw/master/ru_syntagrus-ud-dev.conllu</code>\n",
       "</br>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-SynTagRus/raw/master/ru_syntagrus-ud-test.conllu</code>\n",
       "</br>\n",
       "<code>wget https://github.com/UniversalDependencies/UD_Russian-SynTagRus/raw/master/ru_syntagrus-ud-train.conllu</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/dialogue-evaluation/morphoRuEval-2017\">morphoRuEval-2017</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "General Internet-Corpus\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_morphoru_gicrya\"></a>\n",
       "<code><a href=\"#load_morphoru_gicrya\">load_morphoru_gicrya</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "83&nbsp;148\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "10.58 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/dialogue-evaluation/morphoRuEval-2017/raw/master/GIKRYA_texts_new.zip</code>\n",
       "</br>\n",
       "<code>unzip GIKRYA_texts_new.zip</code>\n",
       "</br>\n",
       "<code>rm GIKRYA_texts_new.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Russian National Corpus\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_morphoru_rnc\"></a>\n",
       "<code><a href=\"#load_morphoru_rnc\">load_morphoru_rnc</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "98&nbsp;892\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "12.71 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/dialogue-evaluation/morphoRuEval-2017/raw/master/RNC_texts.rar</code>\n",
       "</br>\n",
       "<code>unrar x RNC_texts.rar</code>\n",
       "</br>\n",
       "<code>rm RNC_texts.rar</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "OpenCorpora\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_morphoru_corpora\"></a>\n",
       "<code><a href=\"#load_morphoru_corpora\">load_morphoru_corpora</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>morph</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "38&nbsp;510\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "4.80 Mb\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/dialogue-evaluation/morphoRuEval-2017/raw/master/OpenCorpora_Texts.rar</code>\n",
       "</br>\n",
       "<code>unrar x OpenCorpora_Texts.rar</code>\n",
       "</br>\n",
       "<code>rm OpenCorpora_Texts.rar</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://russe.nlpub.org/downloads/\">RUSSE Russian Semantic Relatedness</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "HJ: Human Judgements of Word Pairs\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_russe_hj\"></a>\n",
       "<code><a href=\"#load_russe_hj\">load_russe_hj</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>emb</code>\n",
       "<code>sim</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/nlpub/russe-evaluation/raw/master/russe/evaluation/hj.csv</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "RT: Synonyms and Hypernyms from the Thesaurus RuThes\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_russe_rt\"></a>\n",
       "<code><a href=\"#load_russe_rt\">load_russe_rt</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>emb</code>\n",
       "<code>sim</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://raw.githubusercontent.com/nlpub/russe-evaluation/master/russe/evaluation/rt.csv</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "AE: Cognitive Associations from the Sociation.org Experiment\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_russe_ae\"></a>\n",
       "<code><a href=\"#load_russe_ae\">load_russe_ae</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>emb</code>\n",
       "<code>sim</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://github.com/nlpub/russe-evaluation/raw/master/russe/evaluation/ae-train.csv</code>\n",
       "</br>\n",
       "<code>wget https://github.com/nlpub/russe-evaluation/raw/master/russe/evaluation/ae-test.csv</code>\n",
       "</br>\n",
       "<code>wget https://raw.githubusercontent.com/nlpub/russe-evaluation/master/russe/evaluation/ae2.csv</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://toloka.yandex.ru/datasets/\">Toloka Datasets</a>\n",
       "</td>\n",
       "<td colspan=\"5\">\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "Lexical Relations from the Wisdom of the Crowd (LRWC)\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_toloka_lrwc\"></a>\n",
       "<code><a href=\"#load_toloka_lrwc\">load_toloka_lrwc</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>emb</code>\n",
       "<code>sim</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "</td>\n",
       "<td>\n",
       "<code>wget https://tlk.s3.yandex.net/dataset/LRWC.zip</code>\n",
       "</br>\n",
       "<code>unzip LRWC.zip</code>\n",
       "</br>\n",
       "<code>rm LRWC.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "<tr>\n",
       "<td>\n",
       "<a href=\"https://github.com/cimm-kzn/RuDReC\">The Russian Adverse Drug Reaction Corpus of Tweets (RuADReCT)</a>\n",
       "</td>\n",
       "<td>\n",
       "<a name=\"load_ruadrect\"></a>\n",
       "<code><a href=\"#load_ruadrect\">load_ruadrect</a></code>\n",
       "</td>\n",
       "<td>\n",
       "<code>social</code>\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "9&nbsp;515\n",
       "</td>\n",
       "<td align=\"right\">\n",
       "2.09 Mb\n",
       "</td>\n",
       "<td>\n",
       "This corpus was developed for the Social Media Mining for Health Applications (#SMM4H) Shared Task 2020\n",
       "</br>\n",
       "</br>\n",
       "<code>wget https://github.com/cimm-kzn/RuDReC/raw/master/data/RuADReCT.zip</code>\n",
       "</br>\n",
       "<code>unzip RuADReCT.zip</code>\n",
       "</br>\n",
       "<code>rm RuADReCT.zip</code>\n",
       "</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from corus.sources.meta import METAS\n",
    "from corus.readme import format_metas, show_html, patch_readme\n",
    "\n",
    "html = format_metas(METAS, 'https://nbviewer.jupyter.org/github/natasha/corus/blob/master/docs.ipynb')\n",
    "patch_readme(html, 'README.md')\n",
    "\n",
    "html = format_metas(METAS)\n",
    "show_html(html)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_lenta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LentaRecord(\n",
       "    url='https://lenta.ru/news/2018/12/14/cancer/',\n",
       "    title='Названы регионы России с\\xa0самой высокой смертностью от\\xa0рака',\n",
       "    text='Вице-премьер по социальным вопросам Татьяна Голикова рассказала, в каких регионах России зафиксирована наиболее высокая смертность от рака, сообщает РИА Новости. По словам Голиковой, чаще всего онкологические заболевания становились причиной смерти в Псковской, Тверской, Тульской и Орловской областях, а также в Севастополе. Вице-премьер напомнила, что главные факторы смертности в России — рак и болезни системы кровообращения. В начале года стало известно, что смертность от онкологических заболеваний среди россиян снизилась впервые за три года. По данным Росстата, в 2017 году от рака умерли 289 тысяч человек. Это на 3,5 процента меньше, чем годом ранее.',\n",
       "    topic='Россия',\n",
       "    tags='Общество',\n",
       "    date=None\n",
       ")"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_lenta\n",
    "\n",
    "path = 'data/lenta-ru-news.csv.gz'\n",
    "records = load_lenta(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_lenta2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LentaRecord(\n",
       "    url='https://lenta.ru/news/1914/09/16/hungarnn/',\n",
       "    title='1914. Русские войска вступили в пределы Венгрии  ',\n",
       "    text='Бои у Сопоцкина и Друскеник закончились отступлением германцев. Неприятель, приблизившись с севера к Осовцу начал артиллерийскую борьбу с крепостью. В артиллерийском бою принимают участие тяжелые калибры. С раннего утра 14 сентября огонь достиг значительного напряжения. Попытка германской пехоты пробиться ближе к крепости отражена. В Галиции мы заняли Дембицу. Большая колонна, отступавшая по шоссе от Перемышля к Саноку, обстреливалась с высот нашей батареей и бежала, бросив парки, обоз и автомобили. Вылазки гарнизона Перемышля остаются безуспешными. При продолжающемся отступлении австрийцев обнаруживается полное перемешивание их частей, захватываются новые партии пленных, орудия и прочая материальная часть. На перевале Ужок мы разбили неприятельский отряд, взяли его артиллерию и много пленных и, продолжая преследовать, вступили в пределы Венгрии. «Русский инвалид», 16 сентября 1914 года.',\n",
       "    topic='Библиотека',\n",
       "    tags='Первая мировая',\n",
       "    date=datetime.datetime(1914, 9, 16, 0, 0)\n",
       ")"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_lenta2\n",
    "\n",
    "path = 'data/lenta-ru-news.csv.bz2'\n",
    "records = load_lenta2(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_factru"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "FactruMarkup(\n",
       "    id='58',\n",
       "    text='Встреча с послом Италии в миде Грузии\\n\\nПо инициативе итальянской стороны чрезвычайный и полномочный посол Италии в Грузии Виторио Сандали встретился с заместителем министра иностранных дел Грузии Александром Налбандовым. Предметом обсуждения стали вопросы сотрудничества в международных организациях.\\n',\n",
       "    objects=[FactruObject(\n",
       "         id='16972',\n",
       "         type='LocOrg',\n",
       "         spans=[FactruSpan(\n",
       "              id='32962',\n",
       "              type='loc_name',\n",
       "              start=17,\n",
       "              stop=23\n",
       "          )]\n",
       "     ),\n",
       "     FactruObject(\n",
       "         id='16975',\n",
       "         type='Org',\n",
       "         spans=[FactruSpan(\n",
       "              id='32963',\n",
       "              type='org_name',\n",
       "              start=26,\n",
       "              stop=30\n",
       "          ),\n",
       "          FactruSpan(\n",
       "              id='32965',\n",
       "              type='loc_name',\n",
       "              start=31,\n",
       "              stop=37\n",
       "          )]\n",
       "     ),\n",
       "     FactruObject(\n",
       "         id='16974',\n",
       "         type='LocOrg',\n",
       "         spans=[FactruSpan(\n",
       "              id='32965',\n",
       "              type='loc_name',\n",
       "              start=31,\n",
       "              stop=37\n",
       "          )]\n",
       "     ),\n",
       "     FactruObject(\n",
       "         id='16967',\n",
       "         type='LocOrg',\n",
       "         spans=[FactruSpan(\n",
       "              id='32951',\n",
       "              type='loc_name',\n",
       "              start=106,\n",
       "              stop=112\n",
       "          )]\n",
       "     ),\n",
       "     FactruObject(\n",
       "         id='16968',\n",
       "         type='LocOrg',\n",
       "         spans=[FactruSpan(\n",
       "              id='32952',\n",
       "              type='loc_name',\n",
       "              start=115,\n",
       "              stop=121\n",
       "          )]\n",
       "     ),\n",
       "     FactruObject(\n",
       "         id='16969',\n",
       "         type='Person',\n",
       "         spans=[FactruSpan(\n",
       "              id='32953',\n",
       "              type='name',\n",
       "              start=122,\n",
       "              stop=129\n",
       "          ),\n",
       "          FactruSpan(\n",
       "              id='32954',\n",
       "              type='surname',\n",
       "              start=130,\n",
       "              stop=137\n",
       "          )]\n",
       "     ),\n",
       "     FactruObject(\n",
       "         id='16970',\n",
       "         type='LocOrg',\n",
       "         spans=[FactruSpan(\n",
       "              id='32955',\n",
       "              type='loc_name',\n",
       "              start=189,\n",
       "              stop=195\n",
       "          )]\n",
       "     ),\n",
       "     FactruObject(\n",
       "         id='16971',\n",
       "         type='Person',\n",
       "         spans=[FactruSpan(\n",
       "              id='32956',\n",
       "              type='name',\n",
       "              start=196,\n",
       "              stop=207\n",
       "          ),\n",
       "          FactruSpan(\n",
       "              id='32957',\n",
       "              type='surname',\n",
       "              start=208,\n",
       "              stop=219\n",
       "          )]\n",
       "     )],\n",
       "    corefs=[FactruCoref(\n",
       "         id='2',\n",
       "         objects=[FactruObject(\n",
       "              id='16967',\n",
       "              type='LocOrg',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32951',\n",
       "                   type='loc_name',\n",
       "                   start=106,\n",
       "                   stop=112\n",
       "               )]\n",
       "          ),\n",
       "          FactruObject(\n",
       "              id='16972',\n",
       "              type='LocOrg',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32962',\n",
       "                   type='loc_name',\n",
       "                   start=17,\n",
       "                   stop=23\n",
       "               )]\n",
       "          )],\n",
       "         slots=[FactruCorefSlot(\n",
       "              type='name',\n",
       "              value='Италия'\n",
       "          )]\n",
       "     ),\n",
       "     FactruCoref(\n",
       "         id='3',\n",
       "         objects=[FactruObject(\n",
       "              id='16968',\n",
       "              type='LocOrg',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32952',\n",
       "                   type='loc_name',\n",
       "                   start=115,\n",
       "                   stop=121\n",
       "               )]\n",
       "          ),\n",
       "          FactruObject(\n",
       "              id='16970',\n",
       "              type='LocOrg',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32955',\n",
       "                   type='loc_name',\n",
       "                   start=189,\n",
       "                   stop=195\n",
       "               )]\n",
       "          ),\n",
       "          FactruObject(\n",
       "              id='16974',\n",
       "              type='LocOrg',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32965',\n",
       "                   type='loc_name',\n",
       "                   start=31,\n",
       "                   stop=37\n",
       "               )]\n",
       "          )],\n",
       "         slots=[FactruCorefSlot(\n",
       "              type='name',\n",
       "              value='Грузия'\n",
       "          )]\n",
       "     ),\n",
       "     FactruCoref(\n",
       "         id='4',\n",
       "         objects=[FactruObject(\n",
       "              id='16975',\n",
       "              type='Org',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32963',\n",
       "                   type='org_name',\n",
       "                   start=26,\n",
       "                   stop=30\n",
       "               ),\n",
       "               FactruSpan(\n",
       "                   id='32965',\n",
       "                   type='loc_name',\n",
       "                   start=31,\n",
       "                   stop=37\n",
       "               )]\n",
       "          )],\n",
       "         slots=[FactruCorefSlot(\n",
       "              type='name',\n",
       "              value='МИД Грузии'\n",
       "          )]\n",
       "     ),\n",
       "     FactruCoref(\n",
       "         id='5',\n",
       "         objects=[FactruObject(\n",
       "              id='16969',\n",
       "              type='Person',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32953',\n",
       "                   type='name',\n",
       "                   start=122,\n",
       "                   stop=129\n",
       "               ),\n",
       "               FactruSpan(\n",
       "                   id='32954',\n",
       "                   type='surname',\n",
       "                   start=130,\n",
       "                   stop=137\n",
       "               )]\n",
       "          )],\n",
       "         slots=[FactruCorefSlot(\n",
       "              type='firstname',\n",
       "              value='Виторио'\n",
       "          ),\n",
       "          FactruCorefSlot(\n",
       "              type='lastname',\n",
       "              value='Сандали'\n",
       "          )]\n",
       "     ),\n",
       "     FactruCoref(\n",
       "         id='6',\n",
       "         objects=[FactruObject(\n",
       "              id='16971',\n",
       "              type='Person',\n",
       "              spans=[FactruSpan(\n",
       "                   id='32956',\n",
       "                   type='name',\n",
       "                   start=196,\n",
       "                   stop=207\n",
       "               ),\n",
       "               FactruSpan(\n",
       "                   id='32957',\n",
       "                   type='surname',\n",
       "                   start=208,\n",
       "                   stop=219\n",
       "               )]\n",
       "          )],\n",
       "         slots=[FactruCorefSlot(\n",
       "              type='firstname',\n",
       "              value='Александр'\n",
       "          ),\n",
       "          FactruCorefSlot(\n",
       "              type='lastname',\n",
       "              value='Налбандов'\n",
       "          )]\n",
       "     )],\n",
       "    facts=[FactruFact(\n",
       "         id='58-0',\n",
       "         type='Meeting',\n",
       "         slots=[FactruFactSlot(\n",
       "              type='Participant',\n",
       "              ref='obj',\n",
       "              value=FactruCoref(\n",
       "                  id='5',\n",
       "                  objects=[FactruObject(\n",
       "                       id='16969',\n",
       "                       type='Person',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32953',\n",
       "                            type='name',\n",
       "                            start=122,\n",
       "                            stop=129\n",
       "                        ),\n",
       "                        FactruSpan(\n",
       "                            id='32954',\n",
       "                            type='surname',\n",
       "                            start=130,\n",
       "                            stop=137\n",
       "                        )]\n",
       "                   )],\n",
       "                  slots=[FactruCorefSlot(\n",
       "                       type='firstname',\n",
       "                       value='Виторио'\n",
       "                   ),\n",
       "                   FactruCorefSlot(\n",
       "                       type='lastname',\n",
       "                       value='Сандали'\n",
       "                   )]\n",
       "              )\n",
       "          ),\n",
       "          FactruFactSlot(\n",
       "              type='Participant',\n",
       "              ref='obj',\n",
       "              value=FactruCoref(\n",
       "                  id='6',\n",
       "                  objects=[FactruObject(\n",
       "                       id='16971',\n",
       "                       type='Person',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32956',\n",
       "                            type='name',\n",
       "                            start=196,\n",
       "                            stop=207\n",
       "                        ),\n",
       "                        FactruSpan(\n",
       "                            id='32957',\n",
       "                            type='surname',\n",
       "                            start=208,\n",
       "                            stop=219\n",
       "                        )]\n",
       "                   )],\n",
       "                  slots=[FactruCorefSlot(\n",
       "                       type='firstname',\n",
       "                       value='Александр'\n",
       "                   ),\n",
       "                   FactruCorefSlot(\n",
       "                       type='lastname',\n",
       "                       value='Налбандов'\n",
       "                   )]\n",
       "              )\n",
       "          )]\n",
       "     ),\n",
       "     FactruFact(\n",
       "         id='58-1',\n",
       "         type='Occupation',\n",
       "         slots=[FactruFactSlot(\n",
       "              type='Who',\n",
       "              ref='obj',\n",
       "              value=FactruCoref(\n",
       "                  id='5',\n",
       "                  objects=[FactruObject(\n",
       "                       id='16969',\n",
       "                       type='Person',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32953',\n",
       "                            type='name',\n",
       "                            start=122,\n",
       "                            stop=129\n",
       "                        ),\n",
       "                        FactruSpan(\n",
       "                            id='32954',\n",
       "                            type='surname',\n",
       "                            start=130,\n",
       "                            stop=137\n",
       "                        )]\n",
       "                   )],\n",
       "                  slots=[FactruCorefSlot(\n",
       "                       type='firstname',\n",
       "                       value='Виторио'\n",
       "                   ),\n",
       "                   FactruCorefSlot(\n",
       "                       type='lastname',\n",
       "                       value='Сандали'\n",
       "                   )]\n",
       "              )\n",
       "          ),\n",
       "          FactruFactSlot(\n",
       "              type='Where',\n",
       "              ref='obj',\n",
       "              value=FactruCoref(\n",
       "                  id='2',\n",
       "                  objects=[FactruObject(\n",
       "                       id='16967',\n",
       "                       type='LocOrg',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32951',\n",
       "                            type='loc_name',\n",
       "                            start=106,\n",
       "                            stop=112\n",
       "                        )]\n",
       "                   ),\n",
       "                   FactruObject(\n",
       "                       id='16972',\n",
       "                       type='LocOrg',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32962',\n",
       "                            type='loc_name',\n",
       "                            start=17,\n",
       "                            stop=23\n",
       "                        )]\n",
       "                   )],\n",
       "                  slots=[FactruCorefSlot(\n",
       "                       type='name',\n",
       "                       value='Италия'\n",
       "                   )]\n",
       "              )\n",
       "          ),\n",
       "          FactruFactSlot(\n",
       "              type='Position',\n",
       "              ref='span',\n",
       "              value=FactruSpan(\n",
       "                  id='32958',\n",
       "                  type='job',\n",
       "                  start=73,\n",
       "                  stop=105\n",
       "              )\n",
       "          ),\n",
       "          FactruFactSlot(\n",
       "              type='Position',\n",
       "              ref='span',\n",
       "              value=FactruSpan(\n",
       "                  id='64007',\n",
       "                  type='job',\n",
       "                  start=73,\n",
       "                  stop=121\n",
       "              )\n",
       "          )]\n",
       "     ),\n",
       "     FactruFact(\n",
       "         id='58-2',\n",
       "         type='Occupation',\n",
       "         slots=[FactruFactSlot(\n",
       "              type='Who',\n",
       "              ref='obj',\n",
       "              value=FactruCoref(\n",
       "                  id='6',\n",
       "                  objects=[FactruObject(\n",
       "                       id='16971',\n",
       "                       type='Person',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32956',\n",
       "                            type='name',\n",
       "                            start=196,\n",
       "                            stop=207\n",
       "                        ),\n",
       "                        FactruSpan(\n",
       "                            id='32957',\n",
       "                            type='surname',\n",
       "                            start=208,\n",
       "                            stop=219\n",
       "                        )]\n",
       "                   )],\n",
       "                  slots=[FactruCorefSlot(\n",
       "                       type='firstname',\n",
       "                       value='Александр'\n",
       "                   ),\n",
       "                   FactruCorefSlot(\n",
       "                       type='lastname',\n",
       "                       value='Налбандов'\n",
       "                   )]\n",
       "              )\n",
       "          ),\n",
       "          FactruFactSlot(\n",
       "              type='Position',\n",
       "              ref='span',\n",
       "              value=FactruSpan(\n",
       "                  id='32959',\n",
       "                  type='job',\n",
       "                  start=151,\n",
       "                  stop=188\n",
       "              )\n",
       "          ),\n",
       "          FactruFactSlot(\n",
       "              type='Where',\n",
       "              ref='obj',\n",
       "              value=FactruCoref(\n",
       "                  id='3',\n",
       "                  objects=[FactruObject(\n",
       "                       id='16968',\n",
       "                       type='LocOrg',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32952',\n",
       "                            type='loc_name',\n",
       "                            start=115,\n",
       "                            stop=121\n",
       "                        )]\n",
       "                   ),\n",
       "                   FactruObject(\n",
       "                       id='16970',\n",
       "                       type='LocOrg',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32955',\n",
       "                            type='loc_name',\n",
       "                            start=189,\n",
       "                            stop=195\n",
       "                        )]\n",
       "                   ),\n",
       "                   FactruObject(\n",
       "                       id='16974',\n",
       "                       type='LocOrg',\n",
       "                       spans=[FactruSpan(\n",
       "                            id='32965',\n",
       "                            type='loc_name',\n",
       "                            start=31,\n",
       "                            stop=37\n",
       "                        )]\n",
       "                   )],\n",
       "                  slots=[FactruCorefSlot(\n",
       "                       type='name',\n",
       "                       value='Грузия'\n",
       "                   )]\n",
       "              )\n",
       "          )]\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_factru\n",
    "\n",
    "dir = 'data/factRuEval-2016-master/'\n",
    "records = load_factru(dir)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ne5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ne5Markup(\n",
       "    id='001',\n",
       "    text='Россия рассчитывает на конструктивное воздействие США на Грузию\\r\\n\\r\\n04/08/2008 12:08\\r\\n\\r\\nМОСКВА, 4 авг - РИА Новости. Россия рассчитывает, что США воздействуют на Тбилиси в связи с обострением ситуации в зоне грузино-осетинского конфликта. Об этом статс-секретарь - заместитель министра иностранных дел России Григорий Карасин заявил в телефонном разговоре с заместителем госсекретаря США Дэниэлом Фридом.\\r\\n\\r\\n\"С российской стороны выражена глубокая озабоченность в связи с новым витком напряженности вокруг Южной Осетии, противозаконными действиями грузинской стороны по наращиванию своих вооруженных сил в регионе, бесконтрольным строительством фортификационных сооружений\", - говорится в сообщении.\\r\\n\\r\\n\"Россия уже призвала Тбилиси к ответственной линии и рассчитывает также на конструктивное воздействие со стороны Вашингтона\", - сообщил МИД России. ',\n",
       "    spans=[Ne5Span(\n",
       "         index='T1',\n",
       "         type='GEOPOLIT',\n",
       "         start=0,\n",
       "         stop=6,\n",
       "         text='Россия'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T2',\n",
       "         type='GEOPOLIT',\n",
       "         start=50,\n",
       "         stop=53,\n",
       "         text='США'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T3',\n",
       "         type='GEOPOLIT',\n",
       "         start=57,\n",
       "         stop=63,\n",
       "         text='Грузию'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T4',\n",
       "         type='LOC',\n",
       "         start=87,\n",
       "         stop=93,\n",
       "         text='МОСКВА'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T5',\n",
       "         type='MEDIA',\n",
       "         start=103,\n",
       "         stop=114,\n",
       "         text='РИА Новости'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T6',\n",
       "         type='GEOPOLIT',\n",
       "         start=116,\n",
       "         stop=122,\n",
       "         text='Россия'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T7',\n",
       "         type='GEOPOLIT',\n",
       "         start=141,\n",
       "         stop=144,\n",
       "         text='США'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T8',\n",
       "         type='GEOPOLIT',\n",
       "         start=161,\n",
       "         stop=168,\n",
       "         text='Тбилиси'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T9',\n",
       "         type='GEOPOLIT',\n",
       "         start=301,\n",
       "         stop=307,\n",
       "         text='России'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T10',\n",
       "         type='PER',\n",
       "         start=308,\n",
       "         stop=324,\n",
       "         text='Григорий Карасин'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T11',\n",
       "         type='GEOPOLIT',\n",
       "         start=383,\n",
       "         stop=386,\n",
       "         text='США'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T12',\n",
       "         type='PER',\n",
       "         start=387,\n",
       "         stop=402,\n",
       "         text='Дэниэлом Фридом'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T13',\n",
       "         type='GEOPOLIT',\n",
       "         start=505,\n",
       "         stop=517,\n",
       "         text='Южной Осетии'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T14',\n",
       "         type='GEOPOLIT',\n",
       "         start=703,\n",
       "         stop=709,\n",
       "         text='Россия'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T15',\n",
       "         type='GEOPOLIT',\n",
       "         start=723,\n",
       "         stop=730,\n",
       "         text='Тбилиси'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T16',\n",
       "         type='GEOPOLIT',\n",
       "         start=815,\n",
       "         stop=825,\n",
       "         text='Вашингтона'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T17',\n",
       "         type='ORG',\n",
       "         start=838,\n",
       "         stop=841,\n",
       "         text='МИД'\n",
       "     ),\n",
       "     Ne5Span(\n",
       "         index='T18',\n",
       "         type='GEOPOLIT',\n",
       "         start=842,\n",
       "         stop=848,\n",
       "         text='России'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ne5\n",
    "\n",
    "dir = 'data/Collection5/'\n",
    "records = load_ne5(dir)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_persons"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PersonsMarkup(\n",
       "    text='Россия рассчитывает на конструктивное воздействие США на Грузию\\r\\n\\r\\n04/08/2008 12:08\\r\\n\\r\\nМОСКВА, 4 авг - РИА Новости. Россия рассчитывает, что США воздействуют на Тбилиси в связи с обострением ситуации в зоне грузино-осетинского конфликта. Об этом статс-секретарь - заместитель министра иностранных дел России Григорий Карасин заявил в телефонном разговоре с заместителем госсекретаря США Дэниэлом Фридом.\\r\\n\\r\\n\"С российской стороны выражена глубокая озабоченность в связи с новым витком напряженности вокруг Южной Осетии, противозаконными действиями грузинской стороны по наращиванию своих вооруженных сил в регионе, бесконтрольным строительством фортификационных сооружений\", - говорится в сообщении.\\r\\n\\r\\n\"Россия уже призвала Тбилиси к ответственной линии и рассчитывает также на конструктивное воздействие со стороны Вашингтона\", - сообщил МИД России. ',\n",
       "    spans=[PersonsSpan(\n",
       "         id=1,\n",
       "         start=308,\n",
       "         stop=324,\n",
       "         value='ГРИГОРИЙ КАРАСИН'\n",
       "     ),\n",
       "     PersonsSpan(\n",
       "         id=2,\n",
       "         start=387,\n",
       "         stop=402,\n",
       "         value='ДЭНИЭЛ ФРИД'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_persons\n",
    "\n",
    "dir = 'data/Persons-1000.zip'\n",
    "records = load_persons(dir)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_gareev"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GareevRecord(\n",
       "    tokens=[GareevToken(\n",
       "         text='МОСКВА',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text=',',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='21',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='июня',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='.',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='/',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='БИЗНЕС-ТАСС',\n",
       "         tag='B-ORG'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='/',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='.',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='Группа',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='НЛМК',\n",
       "         tag='B-ORG'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='заняла',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='второе',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='место',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='в',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='рейтинге',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='35',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='наиболее',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='конкурентоспособных',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='сталелитейных',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='компаний',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='мира',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='.',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='Рейтинг',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='составлялся',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='World',\n",
       "         tag='B-ORG'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='Steel',\n",
       "         tag='I-ORG'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='Dynamics',\n",
       "         tag='I-ORG'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text=',',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='ведущей',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='международной',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='исследовательской',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='компанией',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text=',',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='на',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='основе',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='оценки',\n",
       "         tag='O'\n",
       "     ),\n",
       "     GareevToken(\n",
       "         text='23',\n",
       "         tag='O'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_gareev\n",
    "\n",
    "dir = 'data/rus-ner-news-corpus.iob/'\n",
    "records = load_gareev(dir)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_wikiner"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "WikinerMarkup(\n",
       "    tokens=[WikinerToken(\n",
       "         text='На',\n",
       "         pos='PR',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='севере',\n",
       "         pos='S',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='граничит',\n",
       "         pos='V',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='с',\n",
       "         pos='PR',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='Латвией',\n",
       "         pos='S',\n",
       "         tag='I-LOC'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text=',',\n",
       "         pos='PUNCT',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='на',\n",
       "         pos='PR',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='востоке',\n",
       "         pos='S',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='--',\n",
       "         pos='PUNCT',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='с',\n",
       "         pos='PR',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='Белоруссией',\n",
       "         pos='S',\n",
       "         tag='I-LOC'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text=',',\n",
       "         pos='PUNCT',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='на',\n",
       "         pos='PR',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='юго-западе',\n",
       "         pos='S',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='--',\n",
       "         pos='PUNCT',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='c',\n",
       "         pos='PR',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='Польшей',\n",
       "         pos='S',\n",
       "         tag='I-LOC'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='и',\n",
       "         pos='CONJ',\n",
       "         tag='O'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='Калининградской',\n",
       "         pos='A',\n",
       "         tag='I-LOC'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='областью',\n",
       "         pos='S',\n",
       "         tag='I-LOC'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='России',\n",
       "         pos='S',\n",
       "         tag='B-LOC'\n",
       "     ),\n",
       "     WikinerToken(\n",
       "         text='.',\n",
       "         pos='SENT',\n",
       "         tag='O'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_wikiner \n",
    "\n",
    "path = 'data/aij-wikiner-ru-wp3.bz2'\n",
    "records = load_wikiner(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_librusec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LibrusecRecord(\n",
       "    id='309169',\n",
       "    text='30\\xa0апреля 1722 года выдалось ясным, погожим. Мелкие тучки на голубом небе казались заблудившимися барашками, которые выбились из сил и теперь застыли на месте как прикле\\n       –\\xa0Гарный кулеш,\\xa0– отозвался еще один казак, Иван Солонина.\\xa0– Смачный. Сальца бы в него побольше… Не хватает сальца. –\\xa0И горилки б доброй… нашей, казацкой, чтоб изо рта огонь\\n\\n        –\\xa0Что ты зудишь, как назойливый комар!\\xa0– неожиданно взорвался Полуботок.\\xa0– Поди прочь!'\n",
       ")"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_librusec\n",
    "\n",
    "path = 'data/librusec_fb2.plain.gz'\n",
    "records = load_librusec(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_arzamas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='101',\n",
       "    meta=Meta(\n",
       "        id='101',\n",
       "        timestamp=datetime.datetime(2015, 8, 19, 0, 0),\n",
       "        tags=['Дети'],\n",
       "        themes=['История'],\n",
       "        rubric=None,\n",
       "        genre=None,\n",
       "        topic=None,\n",
       "        author=Author(\n",
       "            name='Лиза Биргер',\n",
       "            readers=None,\n",
       "            texts=None,\n",
       "            profession='Журналист, редактор',\n",
       "            about='Директор департамента стикеров и\\\\xa0эмодзи Arzamas. Кандидат исторических наук. <nobr>В\\\\xa02011–2014 годах</nobr>\\\\xa0— главный редактор журнала Esquire.',\n",
       "            url=None\n",
       "        ),\n",
       "        lang=None,\n",
       "        title='Нефертити и секретная комната',\n",
       "        url='http://arzamas.academy/mag/101-nefertiti'\n",
       "    ),\n",
       "    text='Работа под названием \"Захоронение Нефертити?\" опубликована на научном сайте academia.edu. Николас Ривз, египтолог Института Аризоны, изучил фотографии и 3D-сканы гробницы, сделанные в начале года компанией Factum Ave, и, как он считает, увидел следы двух дверей, ведущих в скрытые помещения, одно из которых, возможно, является сокровищницей, а другое  --  местом захоронения царицы (на что якобы указывают и фрески на стене).\\nНефертити, как многие полагают, была матерью Тутанхамона, но как получилось, что мать тайно похоронили в гробнице сына? Или, точнее (как формулирует Ривз), сына  --  в гробнице матери? Это редкий пример научной работы, которая читается как детектив. Те, кому лень изучать ее целиком, могут прочесть краткий пересказ в The New Yorker  --  c историей вопроса, цитатами из дневника первооткрывателя гробницы Говарда Картера (которого тоже смущали разные странности в устройстве гробницы), интервью с самим Ривзом и пр.\\n\\n'\n",
       ")"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_arzamas_metas, load_taiga_arzamas\n",
    "\n",
    "path = 'data/taiga/Arzamas.tar.gz'\n",
    "metas = load_taiga_arzamas_metas(path, offset=0, count=1)\n",
    "records = load_taiga_arzamas(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_fontanka"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='20070101001',\n",
       "    meta=Meta(\n",
       "        id='20070101001',\n",
       "        timestamp=datetime.datetime(2007, 1, 1, 12, 4),\n",
       "        tags=['Санкт-Петербург',\n",
       "         'Петербург',\n",
       "         'СПб',\n",
       "         'фонтанка',\n",
       "         'фонтанка.ру',\n",
       "         'АЖУР',\n",
       "         'Агентство Журналистских расследований',\n",
       "         'СМИ',\n",
       "         'новости',\n",
       "         'новости Петербурга',\n",
       "         'политика',\n",
       "         'экономика',\n",
       "         'криминал',\n",
       "         'Фонтанка',\n",
       "         'информация',\n",
       "         'события',\n",
       "         'город',\n",
       "         'культура',\n",
       "         'политика',\n",
       "         'бизнес',\n",
       "         'общество',\n",
       "         'происшествия',\n",
       "         'спорт',\n",
       "         'свободное время',\n",
       "         'авто',\n",
       "         'недвижимость',\n",
       "         'зарубежная недвижимость',\n",
       "         'Охта центр',\n",
       "         'финансы',\n",
       "         'туризм',\n",
       "         'работа',\n",
       "         'особое мнение'],\n",
       "        themes=None,\n",
       "        rubric='Бизнес',\n",
       "        genre=None,\n",
       "        topic=None,\n",
       "        author=None,\n",
       "        lang=None,\n",
       "        title='Россия и Белоруссия договорились о поставках газа',\n",
       "        url='http://www.fontanka.ru/2007/01/01/001/'\n",
       "    ),\n",
       "    text='«Газпром» и Белоруссия подписали соглашение о поставках российского газа.\\nКак передает ИА «Регнум», глава компании Алексей Миллер сообщил журналистам подробности соглашения.\\n\\nЦена российского газа для Белоруссии составит с 1 января 100 долларов США за 1000 кубометров и в дальнейшем будет рассчитываться по формуле цены, установленной в контракте. К 2011 году она вырастет до среднеевропейского уровня. \\n\\nСтоимость транспортировки российского газа по территории Белоруссии вырастет с нынешних 0,75 доллара США за 1000 кубометров на 100 километров до 1,45 доллара США и будет зафиксирована на все пять лет действия контракта. \\n\\n\"Газпром\" в ближайшие 4 года выкупит 50% акций \"Белтрансгаза\" за 2,5 миллиарда долларов в течение 4 лет. \\n\\nПоследние переговоры между сторонами прошли вчера в Москве.\\n                '\n",
       ")"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_fontanka_metas, load_taiga_fontanka\n",
    "\n",
    "path = 'data/taiga/Fontanka.tar.gz'\n",
    "metas = load_taiga_fontanka_metas(path, offset=0, count=1)\n",
    "records = load_taiga_fontanka(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_interfax"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='business199005',\n",
       "    meta=Meta(\n",
       "        id='business199005',\n",
       "        timestamp=datetime.datetime(2011, 7, 12, 18, 56),\n",
       "        tags='Москва',\n",
       "        themes=None,\n",
       "        rubric=None,\n",
       "        genre=None,\n",
       "        topic=None,\n",
       "        author=None,\n",
       "        lang=None,\n",
       "        title='Комитеты Совфеда поддерживают законопроект о расширении Москвы',\n",
       "        url='http://www.interfax.ru/business/199005'\n",
       "    ),\n",
       "    text='\\nПрофильные комитеты Совета Федерации рекомендуют палате одобрить законопроект об изменении границ между Москвой и Московской областью.\\n\\tКак отмечается в отзывах комитетов на данный законопроект, изменения границ между Москвой и Московской областью позволят \"повысить инвестиционную привлекательность как Москвы, так и области, что крайне важно для экономического и градостроительного развития\".\\n\\tСоглашение об изменении границ подписано на днях мэром Москвы Сергеем Собяниным и губернатором Московской области Борисом Громовым.\\n\\t\"Изменение границы между Москвой и областью носит характер уточнения, цель которого придать юридический статус фактически сложившейся ситуации и границе в целом. Земельные участки Москве передаются общей площадью 723,46 гектара, а в область отойдут земли площадью 328,45 гектара\", - сказал \"Интерфаксу\" глава комиссии Совета Федерации по жилищной политике и жилищно-коммунальному хозяйству Валерий Парфенов.\\n\\n\\n\\n'\n",
       ")"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_interfax_metas, load_taiga_interfax\n",
    "\n",
    "path = 'data/taiga/Interfax.tar.gz'\n",
    "metas = load_taiga_interfax_metas(path, offset=0, count=1)\n",
    "records = load_taiga_interfax(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_kp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='10@2598286',\n",
       "    meta=Meta(\n",
       "        id='10@2598286',\n",
       "        timestamp=datetime.datetime(2016, 12, 13, 10, 50),\n",
       "        tags=None,\n",
       "        themes=None,\n",
       "        rubric='Политика>Политика',\n",
       "        genre=None,\n",
       "        topic=None,\n",
       "        author=Author(\n",
       "            name='Дарья ИВАШКИНА',\n",
       "            readers=None,\n",
       "            texts=None,\n",
       "            profession=None,\n",
       "            about=None,\n",
       "            url=None\n",
       "        ),\n",
       "        lang=None,\n",
       "        title='Путин: Россия готова пройти свою часть пути в улучшении отношений с США',\n",
       "        url='http://www.kp.ru/online/news/2598286/'\n",
       "    ),\n",
       "    text='\\n\\nПрезидент РФ Владимир Путин пообщался с японскими журналистами накануне своего визита в Страну восходящего солнца. В частности, он прокомментировал намерение избранного американского лидера Дональда Трампа подружиться с Москвой.\\nПричем, по словам главы нашего государства, Россия готова пройти свою часть пути в улучшении отношений с США. «Избранный президент Соединенных Штатов выступает за нормализацию отношений, и мы не можем этого не поддерживать… и готовы пройти свою часть пути», - сказал Владимир Владимирович в интервью телеканалу Nippon TV.\\nКстати, напомним, еще в ноябре Путин предложил Трампу восстановить отношения России и США.\\nСАМЫЕ ВАЖНЫЕ ЦИТАТЫ ИЗ ИНТЕРВЬЮ\\n\\n'\n",
       ")"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_kp_metas, load_taiga_kp\n",
    "\n",
    "path = 'data/taiga/KP.tar.gz'\n",
    "metas = load_taiga_kp_metas(path, offset=0, count=1)\n",
    "records = load_taiga_kp(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_lenta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='20091231boeviks',\n",
       "    meta=Meta(\n",
       "        id='20091231boeviks',\n",
       "        timestamp=datetime.datetime(2010, 1, 1, 2, 43),\n",
       "        tags=None,\n",
       "        themes=None,\n",
       "        rubric='Россия',\n",
       "        genre=None,\n",
       "        topic=None,\n",
       "        author=None,\n",
       "        lang=None,\n",
       "        title='В Дагестане уничтожили лидера боевиков &quot;Альбаро&quot;',\n",
       "        url='https://lenta.ru/news/2009/12/31/boeviks/'\n",
       "    ),\n",
       "    text='\\nСотрудники милиции вечером 31 декабря уничтожили в Хасавюрте четверых боевиков. Об этом сообщает РИА Новости со ссылкой на представителей МВД Дагестана. Один из ликвидированных членов незаконного бандформирования - глава боевиков по имени Умалат Магомедов, известный также под кличкой \"Альбаро\".Примерно в 22:00 милиционеры попытались остановить на Грозненской улице автомобиль \"Жигули\" для проверки. Находившиеся в машине люди начали стрелять в сотрудников правоохранительных органов и были уничтожены ответным огнем. О жертвах среди милиционеров не сообщается.На месте происшествия работают оперативники. Личности остальных боевиков устанавливаются.В начале декабря представители республиканского МВД заявили, что на территории Дагестана действуют шесть группировок боевиков: махачкалинская, хасавюртовско-кизилюртовская, губденская, гимринская, балаханинская и южнодагестанская. Численность каждой из них, по данным милиционеров, составляет от 10 до 40 человек.\\n'\n",
       ")"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_lenta_metas, load_taiga_lenta\n",
    "\n",
    "path = 'data/taiga/Lenta.tar.gz'\n",
    "metas = load_taiga_lenta_metas(path, offset=0, count=1)\n",
    "records = load_taiga_lenta(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_magazines"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='corpus_druzhba_103870',\n",
       "    meta=None,\n",
       "    text='\\n\\n\\n\\n\\n\\n\\n\\nМиллер Лариса Емельяновна — поэт, прозаик, критик и эссеист\\n\\n <!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal &#9;{mso-style-parent:\"\"; &#9;margin:0cm; &#9;margin-bottom:.0001pt; &#9;mso-pagination:widow-orphan; &#9;font-size:12.0pt; &#9;font-family:\"Times New Roman\"; &#9;mso-fareast-font-family:\"Times New Roman\";} p &#9;{font-size:12.0pt; &#9;font-family:\"Times New Roman\"; &#9;mso-fareast-font-family:\"Times New Roman\";} span.SpellE &#9;{mso-style-name:\"\"; &#9;mso-spl-e:yes;} span.GramE &#9;{mso-style-name:\"\"; &#9;mso-gram-e:yes;} @page Section1 &#9;{size:595.3pt 841.9pt; &#9;margin:2.0cm 42.5pt 2.0cm 3.0cm; &#9;mso-header-margin:35.4pt; &#9;mso-footer-margin:35.4pt; &#9;mso-paper-source:0;} div.Section1 &#9;{page:Section1;} --> \\n\\n\\n\\n\\n\\nМиллер Лариса Емельяновна — поэт, прозаик, критик и эссеист. Окончила Институт иностранных языков. Автор многих книг стихов.  Живет в Москве.\\n \\n* * *\\nВсё время забываю вас спросить —  Меня не слишком трудно выносить? Моих стихов немыслимую груду, Мою готовность к празднику и чуду, Стремленье тайну видеть здесь и там И следовать за нею по пятам, Её рифмуя днями и ночами Из года в год с тенями и лучами? Не отвечайте. Вижу по глазам: Мои стихи вам на душу бальзам. Не затопить бы только вас бальзамом, Потоком вещих слов о самом-самом.\\n \\n \\n* * *\\nДавай отложим всё, что можно отложить, И даже, что нельзя, давай отложим тоже. Сегодня вся земля — одно большое ложе, Застеленное так, чтоб нас заворожить. На то и снегопад, чтоб было мягко спать, На то и снегопад, чтоб мы на чистом, белом Забыли обо всём, и неотложным делом Считали дивный шанс в перинах утопать.\\n \\n \\n* * * \\nА хорошо бы жить в траве Или в бездонной синеве, Иль в речке светлой тихоструйной, Но толку что, коль в дикой, буйной Стране, не помнящей родни, Навек прописаны они.\\n \\n \\n* * *\\n                         Вермееру\\nА можно обходиться малым: Одним мостом, одним каналом, Одной рекой, одним окном. Увидеть можно и в одном Окне весь мир, хотя дорожка Всего одна видна в окошко. Но и на ней, но и на ней Танцует множество теней, Теней, лучей, небесных пятен, Внушая: мир невероятен.\\n \\n \\n* * *\\nВсё время время отнимают —  Беда, отчаянье одно. Неужто же не понимают, Что людям дорого оно, Что надо изменить порядки — Чтоб никаких календарей,  Что наступать нельзя на пятки И приговаривать: «Скорей!», А надо складывать в копилку Любой прожитый день и час Иль рисовать их под копирку, Чтоб был неистощим запас.\\n \\n \\n* * *\\nМы все матрёшки, все с секретом, До срока спрятанным внутри. Ну а точней, мы все с приветом. Что с виду в норме — не смотри. И вообще гляди-ка мимо Своих любимых чад, Господь. Ведь чадо, что Тобой любимо, Такую может чушь молоть, Такое учудить готово Над ближним и самим собой, Что непонятно как Ты снова Нам полог даришь голубой, Его позолотив с востока, Чтоб нам оттенки показать, Вместо того, чтоб нас жестоко И справедливо наказать.\\n Мы все матрёшки, все с секретом, Что в нас живёт зимой и летом, И этим интересны мы Как летом, так и средь зимы. Непредсказуемы, опасны, А временами так прекрасны, Что в пору нам всё-всё простить И чудом света окрестить.\\n \\n \\n* * *\\nНу что добавить в эту бочку? Как что? Конечно, каплю мёда: Стихов удавшуюся строчку, Слова: «Чудесная погода!».\\n Ну что добавить в ад кромешный, Который без конца и края? Как что? Смешной глазок скворешни, Улыбку, то бишь каплю рая.\\n \\n\\n'\n",
       ")"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_magazines_metas, load_taiga_magazines\n",
    "\n",
    "path = 'data/taiga/Magazines.tar.gz'\n",
    "metas = load_taiga_magazines_metas(path, offset=0, count=1)\n",
    "records = load_taiga_magazines(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_nplus1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='20160915autonomous',\n",
       "    meta=Meta(\n",
       "        id='20160915autonomous',\n",
       "        timestamp=datetime.datetime(2016, 9, 15, 16, 25),\n",
       "        tags=None,\n",
       "        themes=None,\n",
       "        rubric='Оружие',\n",
       "        genre=None,\n",
       "        topic=None,\n",
       "        author=Author(\n",
       "            name='Василий Сычев',\n",
       "            readers=None,\n",
       "            texts=None,\n",
       "            profession=None,\n",
       "            about=None,\n",
       "            url=None\n",
       "        ),\n",
       "        lang=None,\n",
       "        title='Американцы отказались от автономных боевых роботов',\n",
       "        url='https://nplus1.ru/news/2016/09/15/autonomous'\n",
       "    ),\n",
       "    text='\\nВооруженные силы США «никогда не будут использовать по-настоящему автономные боевые машины». Об этом, как сообщает Breaking Defense, заявил министр обороны страны Эштон Картер. По его словам, полная автономность допустима только для систем кибербезопасности, отвечающих за сканирование компьютерных сетей и автоматически предотвращающих кибератаки. Во всех остальных случаях применение вооружения роботами возможно только по команде человека.Ранее Научный совет министерства обороны США объявил, что разработка автономных систем необходима, потому что они позволят в экстренной ситуации быстро принять контрмеры. В совете не уточнили, следует ли сохранить управление вооружением автономных роботов за человеком, но отметили, то каждая самостоятельная машина должна быть легко проверяемой. Это означает, что в памяти машины должна записываться вся информация, объясняющая то или иное совершенное роботом действие.При этом заместитель министра обороны США по закупкам вооружений Фрэнк Кендалл утверждал, что отказ от разработки и применения полностью автономных боевых систем представляет угрозу национальной безопасности и делает страну уязвимой «перед менее совестливыми противниками». Заявление Картера стало ответом на призывы начать разработку полностью автономных боевых систем. По его словам, военным следует предпочесть взаимодействие солдат и боевых роботов, причем ведущая роль должна быть у людей.В октябре прошлого года профессор британского Шеффилдского университета и сооснователь Международного комитета по контролю за роботизированными вооружениями Ноэл Шарки обратился к руководству Организации объединенных наций с просьбой как можно скорее принять поправки к международным правилам ведения войны, которые бы ввели запрет на использование в боевых действиях полностью автономных вооруженных роботов.По мнению правозащитника, промедление с принятием запрета на автономных роботов может привести к непоправимым последствиям, когда использование таких боевых систем в войнах будет обычной практикой. В частности, Великобритания и США уже сегодня настаивают на том, чтобы возможный запрет распространялся только на перспективные технологии, а не на существующие системы. Если это не учитывать, то под запрет могут попасть зенитный артиллерийский комплекс Phalanx и зенитная противоракетная система «Железный купол».В конце июля 2015 года организация Future of Life Institute опубликовала открытое письмо, в котором назвала полностью автономные системы вооружения опасными для человечества и потребовала запретить их разработку. Письмо подписали множество человек, в том числе основатель частной космической компании SpaceX Илон Маск, астрофизик Стивен Хокинг, основатель Apple Стив Возняк и философ Ноам Хомский. Подписанты полагают, что автономное оружие неизбежно приведет к новой гонке вооружений.Многие правозащитники утверждают, что разработка автономных беспилотников нарушает основные положения Женевских конвенций о защите жертв международных вооруженных конфликтов. В частности, нарушается пункт о том, что на каждом из этапов разработки новые вооружения должны проходить проверку и оценку на опасность для гражданского населения. Кроме того, автономные роботы нарушают требования Декларации Мартенса, представленной в начале 1900-х годов и лежащей в основе Конвенции о законах и обычаях сухопутной войны.В разных странах мира сегодня уже разработаны несколько автономных боевых систем, которые могут применять вооружение самостоятельно, без команды человека. Однако в таком режиме они еще ни разу не использовались. Например, российские зенитные ракетные комплексы С-400 могут самостоятельно обнаруживать воздушные цели, брать их на сопровождение и обстреливать. Южнокорейские пограничные патрульные роботы SGR-1 могут обнаруживать нарушителей границы и открывать по ним пулеметный огонь.Василий Сычёв\\n'\n",
       ")"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_nplus1_metas, load_taiga_nplus1\n",
    "\n",
    "path = 'data/taiga/NPlus1.tar.gz'\n",
    "metas = load_taiga_nplus1_metas(path, offset=0, count=1)\n",
    "records = load_taiga_nplus1(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_subtitles"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='10 Things I Hate About You - 1x01 - Pilot.HDTV.XII.en',\n",
       "    meta=None,\n",
       "    text='\\ufeff1\\t00:00:07,930\\t00:00:09,246\\t- Привет, пап. - Доброе утро, девочки.\\n2\\t00:00:09,247\\t00:00:11,474\\tЖаль, меня не было этим утром, чтобы приготовить вам блинчики, но...\\n3\\t00:00:11,475\\t00:00:14,328\\t... никак не угадаешь, когда малыш надумает родиться.\\n4\\t00:00:14,662\\t00:00:16,702\\tПап, мы уже знаем, откуда дети берутся.\\n5\\t00:00:17,136\\t00:00:18,963\\tА знаете ли вы, как всё это получается?\\n6\\t00:00:19,681\\t00:00:21,880\\t- Поверьте мне, что нет. - Пап!\\n7\\t00:00:22,078\\t00:00:25,539\\tЛадно, сегодня ваш первый день в школе  и поэтому запомните одну важную вещь:\\n8\\t00:00:25,540\\t00:00:27,680\\t- Не забеременейте! - Пап!\\n9\\t00:00:27,835\\t00:00:28,713\\t- Пап!\\n10\\t00:00:29,237\\t00:00:32,396\\tИ я напоминаю. Парни хотят, чтобы в вашем  животе оказался ребёнок. Тебе ясно, Бьянка?\\n11\\t00:00:32,610\\t00:00:36,437\\tНо они не сделают этого, потому что ты запретил мне с ними встречаться, пока Кэт не начнет.\\n12\\t00:00:36,438\\t00:00:39,881\\tЭти правила, я сформулировал, потому что  вы, девочки, очень важны для меня.\\n'\n",
       ")"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_subtitles_metas, load_taiga_subtitles\n",
    "\n",
    "path = 'data/taiga/Subtitles.tar.gz'\n",
    "metas = load_taiga_subtitles_metas(path, offset=0, count=1)\n",
    "records = load_taiga_subtitles(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_social"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[TaigaSocialRecord(\n",
       "     id='7_5756d98d5dd2dc3dac1635f4',\n",
       "     network='fb',\n",
       "     text='Я,все таки,думаю,что этот дигенерат бросил тень не на Приднестровье,а на Жирика.'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id='7_5756d9c25dd2dc3dac164c79',\n",
       "     network='fb',\n",
       "     text='===========================\\n\\nЛадно, гулять , так гулять. \\nЧерт с вами. Покажу вам весь пейзаж...\\n\\nУСИ МОИ СЮСИПУСИЧКИ! \\n\\n- Мы очень надеемся, что нам с Вашингтоном удастся добиться результата дипломатическим путем. А Керри все глубже и глубже начинал при этом погружать свой член в его полость рта: \\n\\nКонстант 3'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id='7_5756da2e5dd2dc3dac165d00',\n",
       "     network='fb',\n",
       "     text='ну с какого перепугу КПРФ - оппозиционная?  Может и ЛДПР - оппозиция?'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id=None,\n",
       "     network='lj',\n",
       "     text='че тут обсуждать-то? не много ли чести для всякой хуйни?)'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id=None,\n",
       "     network='lj',\n",
       "     text='Люблю НТВ...)'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id=None,\n",
       "     network='lj',\n",
       "     text='Главное что бы НТВ не полюбило тебя )'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id=None,\n",
       "     network='lj',\n",
       "     text='ага,и я, там фриков показывают))'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id='0_5756d98c5dd2dc3dac163478',\n",
       "     network='twitter',\n",
       "     text='Число россиян, вынужденных отказаться от летнего отдыха, достигло рекорда за 16 лет  Ну что, голосуем и дальше за ЕР?'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id='0_5756d98c5dd2dc3dac16347b',\n",
       "     network='twitter',\n",
       "     text='«Единая Россия» может рассчитывать более чем на 50 процентов голосов избирателей на выборах в Государственную … '\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id='0_5756d9905dd2dc3dac16394f',\n",
       "     network='twitter',\n",
       "     text='@mudakoff: \"Драку с мотоциклистом в Подмосковье устроил участник праймериз Единой России.\\n\\nРазговор с…\" №1 в  '\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id='6_5756d9a15dd2dc3dac164449',\n",
       "     network='vk',\n",
       "     text='Окститесь православные.И Гундяев(в миру Михайлов) и Зюганов служат одному и тому же божку--Путину.Его вывлизываемый анус для них и Христос и Карл Маркс в одном флаконе'\n",
       " ),\n",
       " TaigaSocialRecord(\n",
       "     id='6_5756d9a15dd2dc3dac16444e',\n",
       "     network='vk',\n",
       "     text='[id272464553|Astina], \"Депутаты от фракции КПРФ внесли в Госдуму законопроект о переносе Дня России на 28 июля — День крещения Руси, сообщает ТАСС.\"'\n",
       " )]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_social\n",
    "\n",
    "path = 'data/taiga/social.tar.gz'\n",
    "records = load_taiga_social(path, offset=0, count=4)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_proza"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='20151231005',\n",
       "    meta=Meta(\n",
       "        id='20151231005',\n",
       "        timestamp=datetime.datetime(2015, 12, 31, 23, 40),\n",
       "        tags=None,\n",
       "        themes=None,\n",
       "        rubric=None,\n",
       "        genre='Малые формы',\n",
       "        topic='миниатюры',\n",
       "        author=Author(\n",
       "            name='Кальб',\n",
       "            readers=7973,\n",
       "            texts=92681,\n",
       "            profession=None,\n",
       "            about=None,\n",
       "            url='http://www.proza.ru/avtor/sadshoot'\n",
       "        ),\n",
       "        lang=None,\n",
       "        title='С Новым Годом!',\n",
       "        url='http://www.proza.ru/2015/12/31/1875'\n",
       "    ),\n",
       "    text='...Искры улыбок...\\n... затмят фейерверки..\\n..Смех и веселье...\\n... прокатят по миру..\\n..Праздник разносят... многие клерки..\\n..Дух мандаринов... подарки...зефирки....\\n\\nС Новым годом всех Вас!\\n\\n..с уважением к вам...Я...'\n",
       ")"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_proza_metas, load_taiga_proza\n",
    "\n",
    "path = 'data/taiga/proza_ru.zip'\n",
    "metas = load_taiga_proza_metas(path, offset=0, count=1)\n",
    "records = load_taiga_proza(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_taiga_stihi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TaigaRecord(\n",
       "    id='20151231001',\n",
       "    meta=Meta(\n",
       "        id='20151231001',\n",
       "        timestamp=datetime.datetime(2015, 12, 31, 23, 56),\n",
       "        tags=None,\n",
       "        themes=None,\n",
       "        rubric=None,\n",
       "        genre='лирика',\n",
       "        topic='любовная лирика',\n",
       "        author=Author(\n",
       "            name='Макс Майер-Младший',\n",
       "            readers=26,\n",
       "            texts=2085,\n",
       "            profession=None,\n",
       "            about=None,\n",
       "            url='http://www.stihi.ru/avtor/380979994453'\n",
       "        ),\n",
       "        lang=None,\n",
       "        title='Ти знов являЕшся менi у снi',\n",
       "        url='http://www.stihi.ru/2015/12/31/9302'\n",
       "    ),\n",
       "    text='Ти знов являшся мен у сн\\nПриходиш, мов сюди лише твоя дорога\\nТак тож чому радю я тоб!\\nНапевно, це кохання  вд Бога!\\n\\nУ снах збуваються вс потайн бажання\\nЦе нби мряти, та мр обернути в чари\\nКолискою приспати ус сво страждання,\\nПд нжний, мелодйний спв старенько гтари.\\n\\nА потм! Потм все немов у казц\\nЦей дивовижний свт - не хочу прокидатись\\nМагчний свт  в ньому  перлина щастя,\\nВ цей свт я хочу з головою уврватись.\\n\\nЧому ж ти знов являшся мен у сн!\\nНапевно, це кохання вд самого Бога,\\nТак тож скорше знов втопитися в птьм, \\nЩоб я заснути змг найшвидше якомога. '\n",
       ")"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_taiga_stihi_metas, load_taiga_stihi\n",
    "\n",
    "path = 'data/taiga/stihi_ru.zip'\n",
    "metas = load_taiga_stihi_metas(path, offset=0, count=1)\n",
    "records = load_taiga_stihi(path, metas, offset=0, count=1)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_buriy_news"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BuriyRecord(\n",
       "    timestamp=datetime.datetime(2014, 8, 22, 15, 15),\n",
       "    url='http://www.ntv.ru/novosti/1200239/',\n",
       "    edition=None,\n",
       "    topics='novosti',\n",
       "    title='Россияне на юношеских Олимпийских играх в пятницу завоевали восемь медалей',\n",
       "    text='В пятницу российские спортсмены на\\n'\n",
       ")"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_buriy_news\n",
    "\n",
    "paths = [\n",
    "    'data/buriy/news-articles-2014.tar.bz2',\n",
    "    'data/buriy/news-articles-2015-part1.tar.bz2',\n",
    "    'data/buriy/news-articles-2015-part2.tar.bz2'\n",
    "]\n",
    "records = (\n",
    "    record\n",
    "    for path in paths\n",
    "    for record in load_buriy_news(path)\n",
    ")\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_buriy_webhose"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BuriyRecord(\n",
       "    timestamp=datetime.datetime(2016, 10, 1, 13, 17),\n",
       "    url='https://docs.joomla.org/index.php?title=Portal:Upgrading_Versions/ru&diff=335894&oldid=334992',\n",
       "    edition='docs',\n",
       "    topics=None,\n",
       "    title='Portal:Upgrading Versions/ru',\n",
       "    text='− Прежде чем начать, очень важно, чтобы Вы знали [[S:MyLanguage/How to check the Joomla version?|на какой версии [системы] Joomla! работает Ваш вебсайт]]. Это особенно важно если Вы переходите на главную версию. Если это уже запутало Вас и Вы не знаете, что такое \"главная версия\", то познакомтесь с [[S:MyLanguage/release and support cycle| с циклом выпусков и поддержки]] версий Joomla. Joomla! выпускается согласно следующего наименования [ее версий]: \\'\\'\\'[номер главной версии].[номер малой версии].[номер версии обслуживания]\\'\\'\\'. Например, в версии 3.6.2 тройка обозначает [номер] главной версии, шестерка - [номер] малой версии и двойка - [номер] версии обслуживания. + Прежде чем начать, очень важно, чтобы Вы знали [[S:MyLanguage/How to check the Joomla version?|на какой версии [системы] Joomla! работает Ваш вебсайт]]. Это особенно важно если Вы переходите на главную версию. Если это уже запутало Вас и Вы не знаете, что такое \"главная версия\", то познакомтесь с [[S:MyLanguage/release and support cycle| циклом выпусков и поддержки]] версий Joomla. Joomla! выпускается согласно следующего наименования [ее версий]: \\'\\'\\'[номер главной версии].[номер малой версии].[номер версии обслуживания]\\'\\'\\'. Например, в версии 3.6.2 тройка обозначает [номер] главной версии, шестерка - [номер] малой версии и двойка - [номер] версии обслуживания. Начиная с версии 1.7 [функционал] обновления [версий] Joomla и перехода на новую семью версий встроен в [[S:MyLanguage/Administrator (Application)|административный]] интерфейс. Термины \"обновление версии\" и \"переход на новую семью версий\", возможно, используются как взаимозаменяемые. Начиная с Joomla 1.7 обновление версии и переход на новую семью версий во многом схожи, но Вам необходимо уделять внимание мелочам. Для того, чтобы помочь [Вам] лучше определить [разницу между этими двумя системными операциями], рекомендуется использовать термин \"миграция\" при переходе с [одной] главная.малая (например, 2.5) [семьи версий] на другую главная.малая (например, 3.1) семью версий. Начиная с версии 1.7 [функционал] обновления [версий] Joomla и перехода на новую семью версий встроен в [[S:MyLanguage/Administrator (Application)|административный]] интерфейс. Термины \"обновление версии\" и \"переход на новую семью версий\", возможно, используются как взаимозаменяемые. Начиная с Joomla 1.7 обновление версии и переход на новую семью версий во многом схожи, но Вам необходимо уделять внимание мелочам. Для того, чтобы помочь [Вам] лучше определить [разницу между этими двумя системными операциями], рекомендуется использовать термин \"миграция\" при переходе с [одной] главная.малая (например, 2.5) [семьи версий] на другую главная.малая (например, 3.1) семью версий. Line 14:'\n",
       ")"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_buriy_webhose\n",
    "\n",
    "path = 'data/buriy/webhose-2016.tar.bz2'\n",
    "records = load_buriy_webhose(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_mokoron"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[MokoronRecord(\n",
       "     id=408906695721877504,\n",
       "     timestamp=datetime.datetime(2013, 12, 6, 10, 32, 8),\n",
       "     user='Va5ilina',\n",
       "     text='Пропавшая в Хабаровске школьница почти сутки провела в яме у коллектор',\n",
       "     sentiment=2,\n",
       "     replies=0,\n",
       "     retweets=0,\n",
       "     favourites=0,\n",
       "     posts=183,\n",
       "     followers=95,\n",
       "     friends=158,\n",
       "     lists=0\n",
       " ),\n",
       " MokoronRecord(\n",
       "     id=408906695700520960,\n",
       "     timestamp=datetime.datetime(2013, 12, 6, 10, 32, 8),\n",
       "     user='i_wont_judge_ya',\n",
       "     text='ЛЕНТА, Я СЕГОДНЯ ПОЛГОДА ДИРЕКШИОНЕЕЕЕР! С:\\\\nХОТЯ ВСЕ РАВНО НИКТО НЕ ПОЗДРАВИТ ЛОЛ',\n",
       "     sentiment=2,\n",
       "     replies=0,\n",
       "     retweets=0,\n",
       "     favourites=0,\n",
       "     posts=19809,\n",
       "     followers=804,\n",
       "     friends=257,\n",
       "     lists=11\n",
       " ),\n",
       " MokoronRecord(\n",
       "     id=410005806927847424,\n",
       "     timestamp=datetime.datetime(2013, 12, 9, 11, 19, 36),\n",
       "     user='Victorika_nya',\n",
       "     text='Открытые аудиозаписи нужны, чтобы прийти в гости и включить их ^.^',\n",
       "     sentiment=2,\n",
       "     replies=0,\n",
       "     retweets=0,\n",
       "     favourites=0,\n",
       "     posts=426,\n",
       "     followers=12,\n",
       "     friends=20,\n",
       "     lists=0\n",
       " ),\n",
       " MokoronRecord(\n",
       "     id=408906695663161344,\n",
       "     timestamp=datetime.datetime(2013, 12, 6, 10, 32, 8),\n",
       "     user='victorypanasenk',\n",
       "     text='Царствие Божие внутрь вас есть.',\n",
       "     sentiment=2,\n",
       "     replies=0,\n",
       "     retweets=0,\n",
       "     favourites=0,\n",
       "     posts=1080,\n",
       "     followers=986,\n",
       "     friends=412,\n",
       "     lists=0\n",
       " )]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_mokoron\n",
    "\n",
    "path = 'data/mokoron/db.sql'\n",
    "records = load_mokoron(path)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_wiki"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[WikiRecord(\n",
       "     id='7',\n",
       "     url='?curid=7',\n",
       "     title='Литва',\n",
       "     text='Литва\\n\\nЛитва́ (), официальное название\\xa0— Лито́вская Респу́блика ()\\xa0— государство, расположенное в северо-восточной части Европы. Столица страны\\xa0— Вильнюс.Площадь\\xa0— км². Протяжённость с севера на юг\\xa0— 280\\xa0км, а с запада на восток\\xa0— 370 км. Население составляет человек\\xa0— по этим показателям является крупнейшим прибалтийским государством. Имеет выход к Балтийскому морю, расположена на его восточном побережье. Береговая линия составляет всего 99 км (наименьший показатель среди прибалтийских государств). На севере граничит с Латвией, на юго-востоке\\xa0— с Белоруссией, на юго-западе\\xa0— с Польшей и Калининградской областью России.Член ООН с 1991 года, ЕС и НАТО\\xa0— с 2004 года, ОЭСР\\xa0— с мая 2018 года. Входит в Шенгенскую зону и Еврозону.== Географические данные ==Поверхность\\xa0— равнинная со следами древнего оледенения. Поля и луга занимают 57\\xa0% территории, леса и кустарники\\xa0— 30\\xa0%, болота\\xa0— 6\\xa0%, внутренние воды\\xa0— 1\\xa0%.Высшая точка\\xa0— 293,84 м над уровнем моря\\xa0— холм Аукштояс () (или Аукштасис калнас ()) в юго-восточной части страны, в 23,5\\xa0км от Вильнюса.Крупнейшие реки\\xa0— Неман () и Вилия ().Более 3 тыс. озёр (1,5\\xa0% территории): крупнейшее из них\\xa0— Друкшяй (, ) на границе Латвии, Литвы и Белоруссии (площадь 44,8 км²), самое глубокое\\xa0— Таурагнас (, 61 м), самое длинное\\xa0— Асвея (, длина 30 км) у местечка Дубингяй.Климат переходный от морского к континентальному. Средняя температура зимой минус 5 °С, летом +17 °С. Выпадает 748\\xa0мм осадков в год.Полезные ископаемые: торф, минеральные материалы, строительные материалы.== История ===== Древнейшая история ===Территория современной Литвы была заселена людьми с конца X—IX тысячелетия до\\xa0н.\\xa0э. Жители занимались охотой и рыболовством, использовали лук и стрелы с кремнёвыми наконечниками, скребки для обработки кожи, удочки и сети. В конце неолита (III—II тыс. до\\xa0н.\\xa0э.) на территорию современной Литвы проникли индоевропейские племена. Они занимались земледелием и скотоводством, при этом охота и рыболовство оставались основными занятиями местных жителей вплоть до широкого распространения железных орудий труда. Индоевропейцы, заселившие земли между устьями Вислы и Западной Двины, выделились в отдельную группу, названную учёными балтами.Традиционно считается, что этническая основа Литвы сформирована носителями археологочической культуры восточнолитовских курганов, сформировавшейся в V веке н.\\xa0э. на территории современных Восточной Литвы и Северо-Западной Белоруссии. Около VII века н.\\xa0э. литовский язык отделился от латышского.=== Зарождение государства ===Становление государственности на территории современной Литвы относят к XIII веку, при этом само название «Литва» впервые упомянуто в Кведлинбургских анналах под 1009 годом в сообщении об убийстве язычниками миссионера Бруно на границе Руси и Литвы. По наиболее распространённой версии, топоним возник от названия небольшой реки Летавка, притока Няриса. Согласно более современной гипотезе, название страны могло произойти от этнонима «леты» или «лейти», которым жители окрестных земель называли дружинников литовских князей.В начале XIII века в земли балтов-язычников с запада началось вторжение немецких рыцарей-крестоносцев. Они покорили Пруссию и Ливонию. В это же время с юга началась экспансия Галицко-Волынского княжества. К середине XIII века многие литовские земли были объединены под властью князя Миндовга, принявшего в 1251 году католическое крещение и коронованного в 1253 году. Через несколько лет Миндовг отрёкся от христианства и до начала XIV века литовские земли оставались языческими. Несмотря на то, что уже в 1263 году Миндовг был свергнут, его правление положило начало более чем пятисотлетнему существованию Великого княжества Литовского.=== Великое княжество Литовское ===В XIV\\xa0— начале XV веках территория Великого княжества Литовского стремительно росла, в основном за счёт присоединения земель Западной Руси. Включение в состав государства славянских земель, многократно превышающих по площади и количеству населения собственно литовские земли, привело к перениманию литовскими князьями, получившими во владение русские земли, православной культуры и западнорусского языка. Со временем западнорусский язык стал официальным языком канцелярии великих князей. Собственно литовский язык до XVI века оставался бесписьменным, хотя и продолжал использоваться на этнически литовских землях.В 1385 году великий князь литовский Ягайло заключил Кревскую унию с Королевством Польским. По условиям унии, Ягайло обязался присоединить Великое княжество Литовское к Королевству Польскому и крестить литовские земли по католическому обряду, а сам становился королём Польши и сохранял титул великого князя литовского. Однако вскоре он вынужден был уступить власть в Великом княжестве Литовском своему двоюродному брату Витовту. Витовт, хотя и признал себя вассалом Ягайло, проводил самостоятельную внешнюю политику и таким образом полное объединение государств не состоялось. В годы правления Витовта (1392—1430) Великое княжество Литовское достигло наивысшего расцвета, а его территория составила примерно 930 тысяч км².В этот же период литовские князья из династии Гедиминовичей вели тяжёлую борьбу с Тевтонским орденом, который был разбит в 1410 году в Грюнвальдской битве объединёнными войсками Великого княжества Литовского и Королевства Польского. В 1422 году в состав Великого княжества Литовского окончательно вошла Жемайтия.Великий князь Казимир, одновременно бывший и королём польским, расширил влияние династии Ягеллонов\\xa0— подчинил Пруссию, посадил своего сына на чешский и венгерский троны. В 1492—1526 годах существовала политическая система государств Ягеллонов, охватывавшая Польшу (с вассалами Пруссией и Молдавским княжеством), Великое княжество Литовское, Чехию и Венгрию.Правовой основой государства являлся стату́т, изданный в трёх редакциях (1529, 1566, 1588), отражающих социально-экономические и политические изменения. Статут регламентировал вопросы гражданского, уголовного и процессуального права. На территории Великого княжества третья редакция статута действовала до 1840 года.=== В Речи Посполитой ===В 1569 году в Люблине была заключена новая уния с Польшей, в результате которой образована Речь Посполитая. Согласно акту Люблинской унии Литвой и Польшей правил совместно избираемый король, а государственные дела решались в общем Сейме. Однако правовые системы, армия и чиновники оставались раздельными.В XVI—XVIII веках в Литве по польскому образцу сложилась политическая система, известная как шляхетская демократия. Она характеризовалась наличием широких прав шляхты (дворянства) в управлении государством. Одновременно с этим происходила полонизация шляхты, выраженная в перенимании правящим сословием Великого княжества Литовского польского языка, культуры и идентичности. На непривилегированные сословия полонизация столь значительного влияния не оказала.=== В составе Российской империи ===В XVIII веке в результате опустошительных войн и всеобъемлющего государственного кризиса Речь Посполитая пришла к упадку и попала под влияние Российской империи. В 1772, 1793 и 1795 годах состоялись разделы Речи Посполитой между Россией, Пруссией и Австрией. Почти вся территория бывшего Великого княжества Литовского была присоединена к Российской империи.В попытках восстановить государственность польско-литовское дворянство приняло сторону Наполеона в 1812 году, а также неоднократно поднимало восстания (1830—1831, 1863—1864), которые, однако, окончились поражением. В стремлении ликвидировать польское влияние в Литве российские власти предприняли широкую кампанию деполонизации и русификации. В 1864 году была запрещена литовская печать латиницей. Литовское население, особенно католическое духовенство, сопротивлялись русификации: кирилличные издания игнорировали, а книги, напечатанные латиницей, книгоноши нелегально ввозили из соседней Пруссии. В 1904 году запрет на литовскую латиницу был отменён.=== Во время Первой мировой войны ===Начавшаяся Первая мировая война быстро распространилась по территории Литвы, к концу 1915 года все этнически литовские земли контролировались Германией. Литовцы потеряли все политические права. Вначале даже запрещены Литовские периодические издания. Однако литовская интеллигенция попыталась воспользоваться геополитической ситуацией и начала искать возможности для восстановления независимости Литвы. 18-22 сентября 1917 года в Вильнюсе была проведена Литовская конференция, во время которой была избрана Литовская Тариба («Совет Литвы»). В ходе конференции было принято решение о необходимости создания независимого литовского государства в этнографических границах и со столицей в Вильнюсе. Председателем Совета был избран Антанас Сметона.11 декабря 1917 года было провозглашено восстановление Литовского государства. 23 марта 1918 года император Вильгельм II признал независимость Литвы. На основании акта о признании литовской государственности Тариба была преобразована в Государственный Совет Литвы.13 июля 1918 года Государственный Совет принял решение установить в Литве конституционную монархию и предложить вюртембергскому принцу Вильгельму фон Ураху корону. Впрочем, 2 ноября 1918 года это решение было отозвано. Были приняты основные положения Временной конституции Литвы. 11 ноября 1918 года Президиум Государственного Совета утвердил первое временное правительство Литвы из шести министров под руководством Аугустинаса Вольдемараса, тем самым дав начало созданию государственного аппарата Литвы.=== Литовская Республика ===После ухода основных немецких частей и начала боёв с большевистской Красной армией 16 декабря 1918 года была образована Литовская советская республика. 27 февраля 1919 года в Вильнюсе состоялось объединённое заседание ЦИКов Литвы и Белоруссии, где было провозглашено образование Литовско-Белорусской ССР (Литбел).В феврале-марте 1919 года войска литовской Тарибы, поддержанные немецкими гарнизонами, начали военные действия против Литбела, в апреле 1919 года к ним присоединилась польская армия. В результате территория Литбела была занята польскими частями. Для борьбы с Польшей Советской России требовался нейтралитет Литвы, для чего в 12 июля 1920 года в Москве был заключён советско-литовский договор. Литбел прекратил своё существование, Советская Россия признала независимость Литвы и передачу ей спорного Виленского края.После поражения Красной Армии под Варшавой и советского отступления польские части под командованием генерала Люциана Желиговского инсценировали мятеж и якобы самовольно заняли территорию Виленского края. 12 октября 1920 года было объявлено о создании на территории края государства Срединная Литва, однако уже в 1922 году оно вошло в состав Польской Республики в качестве воеводства. Литовские власти продолжали считать Вильнюс столицей Литвы, хотя фактически руководство осуществлялось из Каунаса.В 1919 году в Литве введена должность президента, первым президентом государства был избран Антанас Сметона. 5 мая 1920 года состоялось первое заседание демократически избранного Учредительного собрания. В 1921 году страна была принята в Лигу Наций. В 1922 году была принята постоянная Конституция. Приведены реформы в области земельных ресурсов, финансов и образования, введена литовская валюта (лит), открыт Литовский университет.Клайпедский край (Мемельланд), населённый в основном прусскими литовцами и немцами, по решению Лиги наций находился под временным управлением французской администрации. В 1923 году в результате восстания местных литовцев и при негласном участии литовской полиции Клайпедский край был присоединён к Литве на правах автономии. Французская администрация не предприняла никаких шагов для борьбы с восстанием, 16 февраля 1923 года страны Антанты признали присоединение Клайпедского края к Литве.В декабре 1926 года в Литве произошёл военный переворот, вернувший к власти лидера националистов Антанаса Сметону. Началась так называемая авторитарная фаза управления государством. В 1928 году была принята Конституция, расширяющая президентские полномочия. Оппозиционные партии были запрещены, цензура ужесточена, а права национальных меньшинств урезаны.17 марта 1938 года Польша предъявила Литве ультиматум с требованием признать Виленский край неотъемлемой частью польского государства. Год спустя, 20 марта 1939 года, Литва получила ультиматум Германии с требованием вернуть ей Клайпедский край. Оба ультиматума Литва была вынуждена принять.=== Вторая мировая война и присоединение к СССР ===Согласно секретному протоколу к заключённому в августе 1939 года пакту Молотова-Риббентропа, Литва была включена в сферу интересов Германии. 1 сентября Германия начала вторжение в Польшу, а 17 сентября СССР осуществил вторжение, по итогам которого присоединил восточные земли Польши, в том числе и Вильно.25 сентября СССР инициировал переговоры об отказе Германии от претензий на Литву в обмен на территории Варшавского и Люблинского воеводств Польши. 10 октября 1939 года в Москве был подписан «Договор о передаче Литовской республике города Вильно и Виленской области и о взаимопомощи между Советским Союзом и Литвой» сроком на 15 лет, предусматривавший ввод в Литву 20-тысячного контингента советских войск. 14—15 июля 1940 года, после принятия советского ультиматума и ввода дополнительного советского военного контингента, в Литве были проведены выборы в Народный сейм, к участию в которых был допущен лишь просоветский «Блок трудового народа». 21 июля Народный сейм провозгласил образование Литовской ССР, 3 августа 1940 года она была принята в состав СССР. В 1940 году, уже будучи в составе СССР, Литва получила часть территории Советской Белоруссии.22 июня 1941 года, после нападения Германии на СССР, последовали антисоветские выступления в Литве. В Каунасе было провозглашено Временное правительство Литвы, поддерживавшее тесные контакты с немцами. Однако после начала фактической немецкой оккупации это Временное правительство было распущено, а территория Литвы включена в рейхскомиссариат Остланд (генеральный округ Литва), в рамках которого ей была предоставлена некоторая автономия. Оккупационную администрацию возглавлял генерал Пятрас Кубилюнас.В 1944 году нацисты были изгнаны Красной Армией с территории Литовской ССР (см. Белорусская операция (1944)).=== Послевоенный период ===В 1944—1953 годах происходили столкновения между советским правительством и литовскими партизанами. Подавив партизанское сопротивление, советские власти столкнулись с ненасильственным сопротивлением местной националистической интеллигенции и католического духовенства.В годы перестройки движение за независимость Литвы значительно усилилось и находило всё больше поддержки со стороны местных властей. В 1989 году была организована акция «Балтийский путь». Жители Литвы, Латвии и Эстонии, выражая своё желание выйти из состава СССР, выстроили живую цепь длиной почти в 600\\xa0км.=== Восстановление независимости ===11 марта 1990 года Верховный Совет объявил о восстановлении независимости Литвы. Литва стала первой советской республикой, объявившей о выходе из СССР.20 апреля 1990 года СССР ввёл экономическую блокаду, прекратив поставку нефти. Блокада продолжалась 74 дня, но литовские власти продолжили курс на независимость. Постепенно экономические отношения были восстановлены. Напряжённость вновь возникла в январе 1991 года, когда советские отдельные части армии, милиции и КГБ попытались совершить силовой захват власти. Мирное сопротивление литовского населения привело к поражению путча, потери гражданского населения составили 14 человек. Вскоре после этого, в феврале 1991 года Исландия стала первой страной, признавшей независимость Литвы.6 сентября 1991 года Государственный совет СССР признал независимость Литвы. 17 сентября того же года Литва была принята в Организацию Объединённых Наций.25 октября 1992 года граждане Литовской Республики проголосовали на референдуме за принятие Конституции Литовской Республики. 14 февраля 1993 года всеобщим голосованием Альгирдас Бразаускас был избран президентом страны. 31 августа того же года последние части Советской Армии покинули территорию Литвы.С 29 марта 2004 года Литва вошла в блок НАТО, а с 1 мая 2004 года стала полноправным членом Европейского Союза.== Административное деление ==Территория Литвы разделена на 10 уездов (). Уезды образуют территории самоуправлений () 9 городов и 43 районов, а также 8 вновь образованных самоуправлений. Самоуправления делятся на староства ().=== Города Литвы ===В Литве выделяются три типа населённых пунктов: города, местечки (городки) и деревни. Статус города предоставляет Сейм Литовской Республики. В 2004 году насчитывалось 106 городов.Крупнейшие города (население на 1 января 2013 года):: Вильнюс ()\\xa0— 537 152 жителей.: Каунас ()\\xa0— 306 888 жителей.: Клайпеда ()\\xa0— 158 541 жителей.: Шяуляй ()\\xa0— 106 470 жителей.: Паневежис ()\\xa0— 97 343 жителей.: Алитус (\"Alytus\")\\xa0— 57 281 жителей.== Население ==По данным Всемирного банка на 2013−2014 годы, Литва попала в список стран мира, исчезающих быстрее всего. Потерю популяции\\xa0— 28.366 (1\\xa0%) поощрила быстрая эмиграция жителей, увеличившаяся смертность, уменьшающаяся рождаемость. По разным данным, Литву с момента обретения независимости и вступления в ЕС в 2004 году покинуло около миллиона жителей. Большинство из них уехало на заработки в страны Западной Европы. По оценкам департамента статистики Литовской Республики, в начале сентября 2015 года в стране проживало человек. С 1992 происходит депопуляция страны, причиной которой стала как эмиграция, так и отрицательный естественный прирост.По данным всеобщей переписи 2011, литовцы составляют 84,16\\xa0% населения страны, поляки\\xa0— 6,58\\xa0%, русские\\xa0— 5,81\\xa0%, белорусы\\xa0— 1,19\\xa0%, украинцы\\xa0— 0,54\\xa0%, евреи\\xa0— 0,10\\xa0%. По данным Всемирной организации здравоохранения (ВОЗ), Литва признана самой пьющей страной в Европе и в мире.В религиозном отношении 77,3\\xa0% жителей Литвы\\xa0— католики, 4,1\\xa0%\\xa0— православные, 6,1\\xa0%\\xa0— неверующие.=== Языковая ситуация ===Государственным языком Литвы является литовский язык, один из балтийских языков, родной для 84,1\\xa0% населения Литвы (около 2,45\\xa0млн человек).== Государственный строй ==Литва\\xa0— парламентская республика, с характерными чертами президентской республики. Срок полномочий избираемого всенародно Президента\\xa0— 5 лет. На данный момент президентом Литовской Республики является избранная в 2009 году и переизбранная в 2014 году Даля Грибаускайте.Парламент республики\\xa0— однопалатный Сейм Литовской Республики с 141 местом. Из них 71 депутат избирается по мажоритарной системе в одномандатных округах и остальные 70\\xa0— по пропорционально-списочной системе с барьером 5\\xa0%. Срок депутатских полномочий\\xa0— 4 года.== Правовая система ==Высшая судебная инстанция\\xa0— Верховный Суд (\"Aukščiausiasis Teismas\"), суды апелляционной инстанции\\xa0— апелляционные инстанции (\"apeliacinis teismas\"), суды первой инстанции\\xa0— окружные суды (\"Apygardos teismas\"), низшее звено судебной системы\\xa0— районные суды (\"Apylinkės teismas\").== Политическая жизнь ===== Партии ===В настоящее время (2016) в Литве зарегистрировано 38 (реально действуют\\xa0— 23) политических партий.=== Внутренняя политика ===В июне 2008 года парламент Литвы принял закон, уравнивающий нацистскую и советскую символику и запрещающий её использование в публичных местах: она «\"может восприниматься как пропаганда нацистских и коммунистических оккупационных режимов\"». Запрещено «\"демонстрирование флагов и гербов, знаков и униформ нацистской Германии, СССР, Литовской ССР, а также флагов, знамён, гербов, знаков, униформ, составными частями которых являются флаги, гербы нацистской Германии, СССР и Литовской ССР\"». Запрещено использование «нацистской свастики, советского серпа и молота, советской пятиконечной красной звезды, а также исполнение гимнов нацистской Германии, СССР и Литовской ССР».=== Внешняя политика ===Литовские солдаты принимали участие в Иракской войне и до сих пор находятся в Афганистане в рамках операции НАТО.* \"Об отношениях с Россией см. Литовско-российские отношения.\"* \"Об отношениях с Белоруссией см. Белоруссия и Литва.\"* \"Об отношениях с США см. Американо-литовские отношения.\"== Экономика ==Средняя начисленная зарплата (брутто) в Литве, за исключением индивидуальных предприятий, в третьем квартале 2016 года была 793,3 евро.Минимальная зарплата с июля 2016 года составляет 380 евро. С 1 января 2019 года минимальный размер оплаты труда составляет 555 евро (брутто) и 396 евро (нетто). По состоянию на 3 квартал 2018 год средний размер оплаты труда в Литве составляет 935 евро (брутто), и 728 евро (нетто). Индекс Кейтца (отношение МРОТ к средней зарплате) по состоянию на 3 квартал 2018 года составляет около 43%.Средняя начисленная зарплата (брутто) в Литве, за исключением индивидуальных предприятий, во втором квартале 2018 года была 1174 евро, после вычета налогов - 892 евро.Минимальный размер оплаты труда в Литве с 2018 года составляет 400 евро.Преимущества: успешно перешла к стабильной рыночной экономике. Низкая инфляция (1,2\\xa0%). Национальная валюта\\xa0— евро.Слабые стороны: Скудная сырьевая база. Растущий дефицит баланса услуг.В 2009 году антикризисная помощь Евросоюза стала крупнейшей статьёй дохода государственного бюджета Литвы за всю историю страны. Согласно прогнозу Министерства финансов Литвы финансовая помощь ЕС должна была составить 30,8\\xa0% от всех доходов бюджета страны в 2009 году и в 2010 году должна была увеличиться ещё на несколько процентных пунктов.=== Промышленность ===== Транспорт ==; ЖелезнодорожныйЛитовские железные дороги, как и в других странах бывшего СССР, имеют широкую колею (1520\\xa0мм против 1435\\xa0мм в Западной Европе).6 февраля 2003 года начато регулярное движение поезда комбинированного транспорта «Викинг». <br>«Викинг»\\xa0— совместный проект железных дорог Литвы, Украины и Беларуси, стивидорных компаний и портов Клайпеда, Черноморск и Одесса, соединяющий цепь морских контейнерных и контрейлерных линий Балтийского региона с аналогичной системой Чёрного, Средиземного и Каспийского морей.Строится литовский участок панъевропейской дороги Rail Baltica.; Авиационный* Вильнюсский международный аэропорт* Международный аэропорт Паланги* Каунасский международный аэропорт* Шяуляйский международный аэропорт; МорскойКлайпедский порт\\xa0— крупнейший порт Литвы, связанный паромами с большинством важных городов побережья Балтийского моря.== Культура ==; Литература; Кинематограф; Образование и наука; СпортНациональным видом спорта в Литве считается баскетбол (см. ЛБЛ). Литовские баскетбольные команды и сборная регулярно участвуют в важнейших соревнованиях Европы и мира.Молодёжная сборная Литвы по футболу становилась победителем Спартакиады-1983.; СМИМножество газет (в том числе на русском, польском, белорусском языках, см. ).Много журналов.Два государственных (LTV и LTV2) и множество частных телеканалов (в столице имеется одна действующая Вильнюсская телебашня. С 2012\\xa0г. эфирное вещание переведено в цифровой формат).Более двух десятков радиостанций (также вещающих и на русском, польском, английском языках) в диапазоне FM, как с собственных передатчиков, так и с арендованных государственных.В Литве 54,7\\xa0% домохозяйств были подключены к сети Интернет (2009).== Вооружённые силы ==== См. также ==* Праздники и памятные дни Литвы* История почты и почтовых марок Литвы* Ордена Литвы== Примечания ==;Комментарии;Источники== Литература ==* \"Эйдинтас А.\", \"Бумблаускас А.\", \"Кулакаускас А.\", \"Тамошайтис М.\" История Литвы / пер. Е. Суворовой.\\xa0— Вильнюс: Eugrimas, 2013.\\xa0— 317 c. ISBN 978-609-437-165-3.* \"Eidintas A.\", \"Bumblauskas A.\", \"Kulakauskas A.\", \"Tamošaitis M.\" The History of Lithuania / Translated and edited by S. Kondratas and R. Kondratas.\\xa0— Revised 2nd edition.\\xa0— Vilnius: Eugrimas, 2015.\\xa0— 328 p. ISBN 978-609-437-163-9.== Ссылки ==* olitve.ru\\xa0— Портал «Всё о Литве»* * Lithuania. CIA Chiefs of State and Cabinet Members of Foreign Governments* Lithuania from \"UCB Libraries GovPubs\"'\n",
       " )]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_wiki\n",
    "\n",
    "path = 'data/ruwiki-latest-pages-articles.xml.bz2'\n",
    "records = load_wiki(path)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_bsnlp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BsnlpMarkup(\n",
       "    id='ru-ryanair-new-extra-1',\n",
       "    name='Nord_Stream_2_extra.xml_file_1',\n",
       "    lang='ru',\n",
       "    date=datetime.datetime(2019, 1, 10, 0, 0),\n",
       "    url='https://www.epravda.com.ua/rus/news/2019/01/10/644185/',\n",
       "    text='Климкин рассказал, чего ожидает от газовых переговоров с Россией в Брюсселе\\n\\nУкраина во время второго раунда трехсторонних переговоров в Брюсселе будет настаивать на том, что транзит газа должен происходить в соответствии с нормами европейского законодательства. Об этом заявил министр иностранных дел Украины Павел Климкин на совместном брифинге с главой МИД Литвы Линасом Линкявичюсом в четверг, 10 января, передает\\n\\n\"Наша позиция относительно будущего транзита, а также по европейской энергетической безопасности предельно четкая: мы готовы выполнить все соответствующие европейские регуляторные нормы для нашей газотранспортной системы. Мы считаем, что будущий транзит должен базироваться на прозрачных и эффективных регуляторах ЕС\", - сказал Климкин. \"Это означает, например, что газ будет покупаться на восточной границе Украины, что транзитный тариф будет рассчитываться по европейской методологии. То есть общий смысл нашей позиции - транзит должно происходить в соответствии с европейским законодательством \", - отметил глава МИД.\\n\\nОн подчеркнул, что общей позицией Украины и Литвы является то, что требования европейского законодательства должны быть распространены и на Nord stream-2, что фундаментально повысит европейскую энергетическую безопасность против России. Подытоживая, Климкин подчеркнул, что Украина готова к конструктивному диалогу о будущем транзита газа в Европу, но он должен базироваться на очень четких условиях, самое главное из которых - соответствие нормам европейского законодательства для обеспечения четких, эффективных и прозрачных предпосылок транзита. \"Поэтому во время переговоров в Брюсселе 21 января мы будем исходить из этих очень простых, но очень важных требований\", - отметил Климкин. Ранее глава НАК \"Нафтогаз Украины\" Андрей Коболев заявил о готовности Украины, при согласовании этого вопроса правительством, обсудить возможность просмотра или отказа от второго транзитного иска к российскому \"Газпрому\" на сумму более 12 млрд долларов в привязке с заключением нового долгосрочного контракта. Действующий контракт по транзиту российского газа через Украину заканчивается в конце 2019 года.\\n',\n",
       "    substrings=[BsnlpSubstring(\n",
       "         text='\"Газпрому\"',\n",
       "         normal='\"Газпром\"',\n",
       "         type='ORG',\n",
       "         id='ORG-Gazprom'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Nord stream-2',\n",
       "         normal='Nord stream-2',\n",
       "         type='PRO',\n",
       "         id='PRO-Nord-Stream-2'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Андрей Коболев',\n",
       "         normal='Андрей Коболев',\n",
       "         type='PER',\n",
       "         id='PER-Andrey-Kobolev'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Брюсселе',\n",
       "         normal='Брюссель',\n",
       "         type='LOC',\n",
       "         id='GPE-Brussles'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='ЕС',\n",
       "         normal='ЕС',\n",
       "         type='ORG',\n",
       "         id='ORG-European-Union'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Европу',\n",
       "         normal='Европа',\n",
       "         type='LOC',\n",
       "         id='LOC-Europe'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Климкин',\n",
       "         normal='Климкин',\n",
       "         type='PER',\n",
       "         id='PER-Pavel-Klimkin'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Линасом Линкявичюсом',\n",
       "         normal='Линас Линкявичюс',\n",
       "         type='PER',\n",
       "         id='PER-Linas-Linkavichus'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Литвы',\n",
       "         normal='Литва',\n",
       "         type='LOC',\n",
       "         id='GPE-Lithuania'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='МИД Литвы',\n",
       "         normal='МИД Литвы',\n",
       "         type='ORG',\n",
       "         id='ORG-Foreign-Office-Lithuania'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='МИД',\n",
       "         normal='МИД',\n",
       "         type='ORG',\n",
       "         id='ORG-Foreign-Office'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='НАК \"Нафтогаз Украины\"',\n",
       "         normal='НАК \"Нафтогаз Украины\"',\n",
       "         type='ORG',\n",
       "         id='ORG-Naftogaz'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Павел Климкин',\n",
       "         normal='Павел Климкин',\n",
       "         type='PER',\n",
       "         id='PER-Pavel-Klimkin'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Россией',\n",
       "         normal='Россия',\n",
       "         type='LOC',\n",
       "         id='GPE-Russia'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='России',\n",
       "         normal='Россия',\n",
       "         type='LOC',\n",
       "         id='GPE-Russia'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Украина',\n",
       "         normal='Украина',\n",
       "         type='LOC',\n",
       "         id='GPE-Ukraine'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Украину',\n",
       "         normal='Украина',\n",
       "         type='LOC',\n",
       "         id='GPE-Ukraine'\n",
       "     ),\n",
       "     BsnlpSubstring(\n",
       "         text='Украины',\n",
       "         normal='Украина',\n",
       "         type='LOC',\n",
       "         id='GPE-Ukraine'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_bsnlp\n",
    "\n",
    "path = 'data/bsnlp'\n",
    "records = load_bsnlp(path)\n",
    "record = next(records)\n",
    "record"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ods_interfax"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NewsRecord(\n",
       "    timestamp=datetime.datetime(2019, 4, 30, 13, 26),\n",
       "    url='https://www.sport-interfax.ru/659837',\n",
       "    edition='www.sport-interfax.ru',\n",
       "    topics='Спорт',\n",
       "    authors=None,\n",
       "    title='Российского чемпиона мира по греко-римской борьбе отстранили за допинг',\n",
       "    text='Москва. 30 апреля. INTERFAX.RU - Чемпион мира по греко-римской борьбе 2014 года Чингиз Лабазанов наказан дисквалификацией сроком на один год за нарушение антидопинговых правил, сообщает во вторник пресс-служба Российского антидопингового агентства во вторник.n\"Федерация борьбы России, по решению РАА РУСАДА, вынесла решение, по которому спортсмен Лабазанов Чингиз лишен права на 1 год за нарушение ст. 2.4 Всероссийских антидопинговых правил, период, начинающийся 11 апреля 2019 года\", - говорится в сообщении.nКроме этого, на четыре года за нарушение антидопинговых правил отстранен еще один отечественный борец - Валерий Гусаров. Его наказание начинается с 31 июля 2018 года.',\n",
       "    stats=Stats(\n",
       "        fb=None,\n",
       "        vk=None,\n",
       "        ok=None,\n",
       "        twitter=None,\n",
       "        lj=None,\n",
       "        tg=None,\n",
       "        likes=None,\n",
       "        views=None,\n",
       "        comments=None\n",
       "    )\n",
       ")"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ods_interfax\n",
    "\n",
    "path = 'data/ods/interfax.csv.gz'\n",
    "records = load_ods_interfax(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ods_gazeta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NewsRecord(\n",
       "    timestamp=datetime.datetime(2008, 11, 21, 15, 19, 14),\n",
       "    url='https://www.gazeta.ru/news/business/2008/11/21/n_1298950.shtml',\n",
       "    edition=None,\n",
       "    topics='Бизнес',\n",
       "    authors=None,\n",
       "    title='Госдума сокращает срок действия ставки экспортных пошлин на нефть',\n",
       "    text='Госдума приняла сегодня в первом чтении и сразу в целом поправки в закон «О таможенном тарифе», сокращающие срок действия ставки экспортных пошлин на нефть с 2-х до 1-го месяца.nnДля установления средних цен на нефть марки Urals и расчета экспортных пошлин правительство России в течение двух месяцев проводит мониторинг на международных рынках нефтяного сырья (средиземноморском и роттердамском), экспортные пошлины на нефть устанавливаются также раз в два месяца.nnСокращение на месяц периода мониторинга (с 15-го числа каждого календарного месяца по 14-е число следующего месяца) и соответственно срока действия ставок экспортных пошлин «позволит более оперативно реагировать на изменения экономической ситуации в стране и сэкономить нефтяникам миллиарды рублей», считают разработчики. Экспортные ставки будут вводиться с 1 числа календарного месяца, следующего за окончанием периода мониторинга.',\n",
       "    stats=Stats(\n",
       "        fb=None,\n",
       "        vk=None,\n",
       "        ok=None,\n",
       "        twitter=None,\n",
       "        lj=None,\n",
       "        tg=None,\n",
       "        likes=None,\n",
       "        views=None,\n",
       "        comments=None\n",
       "    )\n",
       ")"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ods_gazeta\n",
    "\n",
    "path = 'data/ods/gazeta.csv.gz'\n",
    "records = load_ods_gazeta(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ods_izvestia"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NewsRecord(\n",
       "    timestamp=datetime.datetime(2017, 1, 24, 18, 24),\n",
       "    url='https://iz.ru/699785/nataliia-portiakova/chtoby-pomnili',\n",
       "    edition=None,\n",
       "    topics='Мир',\n",
       "    authors=['Наталия Портякова'],\n",
       "    title='Чтобы помнили',\n",
       "    text='В Европейском\\xa0парламенте\\xa0(ЕП) 24 января прошла официальная церемония памяти жертв холокоста, приуроченная к одноименному международному дню (отмечается 27 января). Главный посыл ее участников свелся к тому, что мир обязан не только чтить невинно убитых —\\xa0а их было свыше 6 млн\\xa0человек, —\\xa0но и в том, чтобы не позволить экстремизму любого толка вновь поднять голову.nМероприятия, посвященные памяти жертв холокоста, проходят в Европе регулярно. Правда, из года в год социальный и политический контекст, на фоне которого Европа вспоминает жертв преступлений нацизма, становится всё\\xa0более тревожным.nВице-президент Европейского парламента Мэред Макгиннесс в своем выступлении сделала\\xa0акцент не столько на самих проблемах, сколько на том, что необходимо предпринять, чтобы их решить. Главное здесь, по ее логике, —\\xa0вписать красной нитью во всю систему европейского образования одну простую, но важную мысль:\\xa0никогда больше не позволить экстремизму какого-либо толка окрепнуть в умах европейцев.nЛозунг «больше никогда»\\xa0не раз звучал из уст других выступавших в зале Европарламента. Но наибольшую реакцию у публики вызвали всё\\xa0же заявления с политическим подтекстом.n— Меньше месяца назад синагоги в Мальмё и Гетеборге забросали бутылками с зажигательной смесью из-за абсурдной веры в то, что европейские евреи —\\xa0виновники дипломатических заявлений, сделанных неевреем за тысячу миль от Европы.\\xa0А он всего лишь\\xa0озвучил самую очевидную истину о том, что Иерусалим является столицей Израиля, —\\xa0заявил, в частности, один из организаторов мероприятия —\\xa0президент Европейского еврейского общества Вячеслав Кантор.nСледующий выступающий —\\xa0спикер израильского кнессета Юлий Эдельштейн удостоился аплодисментов за речь, в которой, по сути, обвинил европейцев в неискренности в борьбе\\xa0с антисемитизмом.n— Недавно делегация Евросоюза побывала в Тегеране. Никто почему-то не выразил протест против конкурса карикатур на лучшего «отрицателя холокоста»\\xa0(Иран давно известен своим показательным отрицанием факта холокоста\\xa0и периодически проводит конкурсы и\\xa0круглые столы на эту тему. —\\xa0«Известия»), —\\xa0заметил спикер, продемонстрировав собравшимся рисунок победителя. —\\xa0Между прочим, француза, получившего за него $50 тыс.\\xa0Нужны искренние меры. Борьба с антисемитизмом —\\xa0это больше, чем слова и резолюции.nОдна из немногих стран, кого сложно упрекнуть в антисемитизме, —\\xa0это Россия, у которой к холокосту особое отношение. Ведь именно советские войска 27 января 1945 года освободили заключенных крупнейшего\\xa0нацистского\\xa0лагеря\\xa0смерти Освенцим (Аушвиц-Биркенау), в котором, по разным данным, погибло от 1,5 до 4 млн\\xa0человек. И именно Россия была одним из инициаторов резолюции Генассамблеи ООН 2005 года об\\xa0установлении\\xa0Международного дня памяти жертв холокоста. Наконец, именно Россия\\xa0год за годом вносит на рассмотрение Генеральной Ассамблеи ООН проект специальной резолюции о борьбе с героизацией нацизма, неонацизмом и другими видами проявления расизма и нетерпимости.nВ России в этом году центральным событием, посвященным\\xa0Международному дню памяти жертв холокоста, стала фотовыставка «Холокост: уничтожение, освобождение, спасение». Она открылась 17 января в Совете Федерации и представила зрителям более 70 уникальных экспонатов —\\xa0документальных свидетельств и фотографий узников нацистских лагерей смерти и их освободителей —\\xa0солдат Красной Армии.nПодобные выставки также\\xa0впервые представили в посольствах России в ряде европейских столиц и штаб-квартире ООН в Нью-Йорке. Открывая ее 18 января, глава МИДа Сергей Лавров так же, как и выступившие сегодня в Европарламенте депутаты и представители еврейских организаций, не стал скрывать тревогу по поводу «ползучей реабилитации нацизма».\\xa0Назвав холокост «одним из самых ужасных преступлений против человечности», шеф российской дипломатии подчеркнул, что долг всего международного сообщества —\\xa0не только в почитании памяти миллионов жертв нацизма, но и в том, чтобы делать максимум, не допуская повторения подобных трагедий в будущем.nНесмотря на целый ряд мер, принимаемых\\xa0как ЕП, так и отдельными странами в сфере борьбы с проявлениями антисемитизма, искоренить\\xa0это явление не удается. Как следует из последних данных Европейской комиссии, на фоне угроз и роста антисемитизма еврейская диаспора в ЕС сократилась (за счет эмиграции в Израиль) с 1,12 млн человек в 2009 году до 1,08 млн в 2015 году.nТревожные тенденции налицо не только во Франции, где проживает самая крупная в Европе диаспора\\xa0(460 тыс.), но и в Германии с ее 200-тысячной еврейской общиной\\xa0—\\xa0стране, в силу понятных исторических причин щепетильней других подавляющей любые проявления нацизма и антисемитизма. Число преступлений на почве нацизма и антисемитизма в 2017 году выросло там на 4% по сравнению с 2016 годом.nМестные политики связывают это не только с ростом ультраправых настроений в обществе, но и с наплывом в страну беженцев-мусульман с Ближнего Востока, которых никогда нельзя было заподозрить в симпатиях к Израилю и евреям. Как сетовал в конце прошлого года глава Центрального комитета евреев Германии Йозеф Шустер, в некоторых районах страны появление в кипе или со звездой Давида на шее может стать основанием для оскорблений и угроз физической расправы.nРеагируя на рост антисемитизма, в начале года правящий в Германии блок ХДС/ХСС выдвинул идею зафиксировать законодательно пункт о высылке из страны иностранцев, замеченных в антисемитских высказываниях и отрицающих существование Государства Израиль. Звучало и предложение в рамках политики по интеграции обязать всех претендентов на статус беженца в Германии посещать бывший концентрационный лагерь —\\xa0чтобы ужасы холокоста стали для них очевиднее. Впрочем, эти идеи не были воплощены в жизнь, зато Берлин откликнулся на рекомендацию Европарламента, предложившего летом 2017 года странам ЕС учредить должности\\xa0национальных комиссаров по вопросу антисемитизма. За учреждение в стране такого нового поста бундестаг проголосовал\\xa0на прошлой неделе.nВ настоящее время в Израиле и 16 европейских странах публичное отрицание самого факта холокоста является уголовно наказуемым преступлением, за которое можно получить тюремный срок от двух до пяти лет. В России закон об ответственности за реабилитацию нацизма и отрицание нацистских преступлений против человечества, установленных Международным военным трибуналом в Нюрнберге, а также за «распространение заведомо ложных сведений о деятельности СССР в годы Второй мировой войны»\\xa0был принят в мае 2015 года. А вот в США, известных своей многочисленной еврейской диаспорой, отрицание холокоста не входит в число уголовных преступлений —\\xa0это напрямую связано с Первой\\xa0поправкой\\xa0к конституции страны, защищающей право на свободное выражение мнения.',\n",
       "    stats=Stats(\n",
       "        fb=None,\n",
       "        vk=None,\n",
       "        ok=None,\n",
       "        twitter=None,\n",
       "        lj=None,\n",
       "        tg=None,\n",
       "        likes=None,\n",
       "        views=None,\n",
       "        comments=None\n",
       "    )\n",
       ")"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ods_izvestia\n",
    "\n",
    "path = 'data/ods/iz.csv.gz'\n",
    "records = load_ods_izvestia(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ods_meduza"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NewsRecord(\n",
       "    timestamp=datetime.datetime(2019, 8, 6, 14, 15),\n",
       "    url='https://meduza.io/feature/2019/08/06/matros-razgovarival-v-kazarme-po-videosvyazi',\n",
       "    edition=None,\n",
       "    topics=None,\n",
       "    authors=None,\n",
       "    title='Матрос разговаривал в\\xa0казарме по\\xa0видеосвязи',\n",
       "    text='С\\xa0марта 2019 года российским военным запрещено пользоваться смартфонами и\\xa0публиковать в\\xa0интернете фотографии со\\xa0службы. Соответствующие поправки к\\xa0закону «О\\xa0статусе военнослужащих» правительство подготовило в\\xa0сентябре 2018 года, а\\xa0Госдума и\\xa0Совет Федерации одобрили их\\xa0в\\xa0феврале 2019-го. В\\xa0марте закон подписал президент России Владимир Путин, и\\xa017\\xa0марта онnвступилnв\\xa0силу. Российских военных сразу\\xa0же начали наказывать за\\xa0найденные у\\xa0них смартфоны и\\xa0фото в\\xa0социальных сетях: обычно им\\xa0дают от\\xa0пяти до\\xa015 суток ареста, выяснила «Медуза», изучив решения военных судов.nВ\\xa0пояснительной записке к\\xa0поправкам правительствоnсвязывалоnих\\xa0необходимость с\\xa0военной операцией в\\xa0Сирии: еще до\\xa0того, как Россия в\\xa0сентябре 2015 года официально объявила о\\xa0ее\\xa0начале, расследователи заявлялиnо\\xa0присутствии в\\xa0странеnроссийских военных\\xa0— в\\xa0том числе на\\xa0основании их\\xa0фотографий из\\xa0соцсетей. Ранее участникиnConflict Intelligence Teamnи\\xa0другие независимыеnрасследователиnпубликовали материалы о\\xa0том, что Россия воюет на\\xa0востоке Украины.nНовый закон не\\xa0только запретил военным и\\xa0призывникам рассказывать в\\xa0интернете о\\xa0своей службе, но\\xa0и\\xa0вообще иметь при себе смартфоны, планшеты и\\xa0другие гаджеты с\\xa0доступом в\\xa0интернет и/или возможностью съемки фото и\\xa0видео. Этот\\xa0же закон отнес найденные у\\xa0военных на\\xa0службе гаджеты к\\xa0грубым дисциплинарным проступкам, за\\xa0которыеnполагаетсяnдо\\xa030 суток ареста. Отправить под арест может только военный суд.nПри этом на\\xa0мобильные телефоны без камер и\\xa0интернета закон не\\xa0распространяется,nговорилnв\\xa0феврале первый заместитель председателя комитета Госдумы по\\xa0обороне Андрей Красов. В\\xa0быту военным разрешено пользоваться смартфонами.nВ\\xa0середине июля 2019 годаnсразу несколькоnизданийnобратили внимание, что принятием закона дело не\\xa0ограничилось\\xa0— аналогичные поправки Минобороны решило внести в\\xa0дисциплинарный устав Вооруженных\\xa0сил. Документ с\\xa0проектом соответствующего приказа президента РФ\\xa0былnопубликованnна\\xa0портале проектов нормативных актов. По\\xa0состоянию на\\xa06\\xa0августа документ все еще не\\xa0одобрен. Будущее принятие поправок в\\xa0уставnмногие сочлиnфактическим началом практики по\\xa0«приравниванию смартфонов к\\xa0дедовщине» в\\xa0российской армии.nНа\\xa0самом деле массово отправлять российских военнослужащих под арест за\\xa0смартфоны или за\\xa0публикации в\\xa0соцсетях начали почти одновременно с\\xa0принятием закона, свидетельствуют судебные решения, опубликованные на\\xa0портале ГАС «Правосудие». Военные суды уже приняли десятки решений по\\xa0таким делам.nНапример, 1\\xa0апреля, меньше чем через две недели после вступления закона в\\xa0силу, военнослужащий Андрей Тарханов, находясь на\\xa0боевом дежурстве «в\\xa0качестве механика-водителя», опубликовал фотографии «в\\xa0информационно- телекоммуникационную сеть „Интернет“, социальную сеть Instagram»,nговоритсяnв\\xa0решении\\xa0Саратовского гарнизонного военного суда от\\xa019\\xa0апреля. Тарханов получил 15 суток ареста на\\xa0гауптвахте.nУ\\xa0рядового Андрея Трубачева 20\\xa0апреля был обнаружен и\\xa0изъят «абонентский терминал с\\xa0расширенными мультимедийными возможностями\\xa0— iPhone 8, который он\\xa0использовал с\\xa0января 2019\\xa0г. в\\xa0личных нуждах после отбоя»,nсказаноnв\\xa0решении Челябинского военного суда от\\xa017\\xa0мая. Трубачев получил пять суток ареста. Матрос Магомед-Хусейн Демельханов 10\\xa0апреля разговаривал в\\xa0казарме «по\\xa0видеосвязи, используя смартфон». Севастопольский военный суд 24\\xa0апреляnсчелn, что Демельханову будет достаточно одних суток ареста.nИногда командиры пытаются отправить солдат под арест за\\xa0смартфоны, найденные еще до\\xa0вступления закона в\\xa0силу. Например, у\\xa0военнослужащего Сергея Черного телефон нашли в\\xa0январе 2019 года. Он\\xa0«делал на\\xa0нем фотографии и\\xa0записывал видео по\\xa0месту прохождения военной службы». Уссурийский военный судnотказалсяnарестовывать Черного задним числом\\xa0— при этом сам военнослужащий признал себя виновным.nНо\\xa0так бывает не\\xa0всегда. Например, военнослужащий Егор Круглов, находясь на\\xa0боевом дежурстве в\\xa0декабре 2018 года и\\xa0апреле 2019 года, взял сотовый телефон у\\xa0сослуживца, после чего «сделал несколько своих снимков и\\xa0отправил их\\xa0своей девушке при помощи социальной сети», говорится в\\xa0решении Саратовского военного суда от\\xa030\\xa0мая (название соцсети в\\xa0решении не\\xa0уточняется). Военнослужащий признал себя виновным по\\xa0обоим эпизодам, включая 2018 год, суд тоже не\\xa0стал исключать его из\\xa0решения. Кругловnполучилn15 суток ареста.nЮрист «Комитета солдатских матерей» Вадим Жернаков сказал «Медузе», что командирам и\\xa0судам действительно не\\xa0нужно было дожидаться принятия поправок в\\xa0дисциплинарный устав. «Если исходить из\\xa0принципа главенства нормативной базы, то\\xa0сначала идет Конституция, потом федеральные законы, потом подзаконные акты,\\xa0— объясняет юрист. —\\xa0А\\xa0поскольку уставы утверждаются указом президента\\xa0— это подзаконные акты. Даже если чего-то нет в\\xa0подзаконном акте\\xa0— а\\xa0они меняются медленнее, чем законы\\xa0— руководствоваться нужно федеральным законодательством».nПетр Лохов',\n",
       "    stats=Stats(\n",
       "        fb=None,\n",
       "        vk=None,\n",
       "        ok=None,\n",
       "        twitter=None,\n",
       "        lj=None,\n",
       "        tg=None,\n",
       "        likes=None,\n",
       "        views=None,\n",
       "        comments=None\n",
       "    )\n",
       ")"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ods_meduza\n",
    "\n",
    "path = 'data/ods/meduza.csv.gz'\n",
    "records = load_ods_meduza(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ods_ria"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NewsRecord(\n",
       "    timestamp=datetime.datetime(2019, 8, 10, 6, 35),\n",
       "    url='https://ria.ru/20190810/1557366973.html',\n",
       "    edition='ria.ru',\n",
       "    topics='Происшествия',\n",
       "    authors=None,\n",
       "    title='Восемнадцать туристов застряли на пляже в Приморье из-за ливней',\n",
       "    text='ВЛАДИВОСТОК, 10 авг – РИА Новости.nВосемнадцать туристов, среди которых есть двое детей, застряли на пляже в Приморье из-за ливней, сообщает ГУ МЧС РФ по Приморскому краю.n\"На пляже находятся 18 человек, из них двое детей. Люди остались отрезанными и самостоятельно выбраться с места отдыха не могут\", - сообщает региональный главк МЧС.nСигнал о бедствии поступил в пятницу в оперативную дежурную смену Центра управления в кризисных ситуациях. Выяснилось, что в результате подъёма уровня воды затруднён проезд легкового автотранспорта к пляжу через устье ручья Чёрный в районе бухты Ежовая. По сообщению спасателей, все отдыхающие были неоднократно и заблаговременно предупреждены об ухудшении погодных условий.nСпасатели уже вышли на связь с туристами, чтобы уточнить обстановку. Для оказания помощи к месту, где \"заблокированы\" 18 туристов, на плавстредствах направлена аэромобильная группировка МЧС России по Приморскому краю. Спасатели доставляют людям бутилированную воду, продукты питания и предметы первой необходимости.nПо словам спасателей, в целом, ситуация в данном районе стабильная. В настоящий момент наблюдается спад воды.nТропический шторм \"Франциско\", смещаясь вдоль южного побережья Приморья, ночью в четверг принес в регион до 60% месячной нормы осадков. Ему на смену в пятницу пришёл не менее сильный атмосферный фронт с ливнями.',\n",
       "    stats=Stats(\n",
       "        fb=None,\n",
       "        vk=None,\n",
       "        ok=None,\n",
       "        twitter=None,\n",
       "        lj=None,\n",
       "        tg=None,\n",
       "        likes=0,\n",
       "        views=70,\n",
       "        comments=None\n",
       "    )\n",
       ")"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ods_ria\n",
    "\n",
    "path = 'data/ods/ria.csv.gz'\n",
    "records = load_ods_ria(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ods_rt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NewsRecord(\n",
       "    timestamp=datetime.datetime(2019, 6, 26, 14, 0),\n",
       "    url='https://russian.rt.com/russia/news/644595-avto-ekspert-rossiya',\n",
       "    edition=None,\n",
       "    topics='Россия',\n",
       "    authors=None,\n",
       "    title='Эксперт прокомментировал ситуацию с возможным лишением прав за нечитаемые номера',\n",
       "    text='Как считает эксперт, россиянам не стоит переживать, что их заподозрят в намеренном загрязнении госзнака в непогоду.n«Когда идёт дождь или снег, то у водителя нет никакого умысла, чтобы номер был грязным, — он сам по себе такой. В теории в идеальной ситуации это должно учитываться инспекторами и судом», —nзаявилnон.nРанее пленум Верховного суда Россииnвыпустил постановлениеn, разъясняющее, какие санкции могут быть применены в отношении автолюбителей, которые приняли меры, чтобы государственные знаки, установленные на их автомобилях, стали нечитаемыми.nРуководитель Федерации автовладельцев России Сергей Канаев в беседе с ФАНnоценилnпредложение правительства России ввести штраф до 2500 рублей для автомобилистов, которые не оплачивают проезд по платной дороге.',\n",
       "    stats=Stats(\n",
       "        fb=None,\n",
       "        vk=None,\n",
       "        ok=None,\n",
       "        twitter=None,\n",
       "        lj=None,\n",
       "        tg=None,\n",
       "        likes=None,\n",
       "        views=None,\n",
       "        comments=None\n",
       "    )\n",
       ")"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ods_rt\n",
    "\n",
    "path = 'data/ods/rt.csv.gz'\n",
    "records = load_ods_rt(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ods_tass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NewsRecord(\n",
       "    timestamp=datetime.datetime(2019, 8, 10, 17, 12, 51),\n",
       "    url='https://tass.ru/proisshestviya/6751577',\n",
       "    edition=None,\n",
       "    topics='proisshestviya',\n",
       "    authors=None,\n",
       "    title='Военные завершили работы по борьбе с паводками в Тулунском районе Иркутской области',\n",
       "    text='ТАСС, 10 августа. Военнослужащие группировки Минобороны России по ликвидации последствий паводков завершили выполнение задач в Тулунском районе Иркутской области, сообщили\\xa0журналистам в военном ведомстве.n\"В городе Тулун состоялась торжественная церемония награждения военнослужащих группировки Минобороны России, принимавших участие в ликвидации последствий паводка в Тулунском районе Иркутской области\", - сообщили в Минобороны.nКак сообщили в Минобороны, военные железнодорожники механизированного батальона железнодорожного соединения Центрального военного округа (ЦВО) восстановили участки береговой защитной дамбы на реке Ия города Тулуна. \"Для восстановления около трех километров береговой защитной дамбы в районе моста федеральной трассы Р-255 военные специалисты отсыпали около 25 тыс. кубических метров скального грунта, ширина защитного вала увеличена до 5 метров, высота до 4 метров\", - сообщили в военном ведомстве.nВсего за время работы группировка Минобороны очистила от завалов 100 га территории в Тулуне, разобрала более 70 разрушенных паводком домов.nПо информации военного ведомства, губернатор Иркутской области Сергей Левченко и мэр города Тулуна Юрий Карих поблагодарили военнослужащих за оказание помощи местному населению, наиболее отличившимся из них были вручены почетные грамоты и ценные подарки.nО группировке МинобороныnПервые отряды военнослужащих ЦВО прибыли для ликвидации последствий паводка в Иркутскую область в начале июля. Военные медики проводили вакцинацию, а также оказывали первую помощь населению, пекари готовили хлеб, раздавали питьевую воду местным жителям, авиация доставляла гуманитарную помощь в отрезанные водой поселки. Одновременно военные химики проводили дезинфекцию социальных объектов, а железнодорожники восстанавливали дамбу и разбирали завалы.n\"12 врачебно-сестринских бригад провели вакцинацию от вирусного гепатита \"А\" около 4 тыс. жителей города, в том числе 580 детей\", - проинформировали в Минобороны.nГруппировка военнослужащих Минобороны России по оказанию помощи в ликвидации последствий паводка в Тулунском районе Иркутской области насчитывала около 1 тыс. человек, порядка 120 единиц военной и специальной техники.',\n",
       "    stats=Stats(\n",
       "        fb=None,\n",
       "        vk=None,\n",
       "        ok=None,\n",
       "        twitter=None,\n",
       "        lj=None,\n",
       "        tg=None,\n",
       "        likes=None,\n",
       "        views=None,\n",
       "        comments=None\n",
       "    )\n",
       ")"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ods_tass\n",
    "\n",
    "path = 'data/ods/tass-001.csv.gz'\n",
    "records = load_ods_tass(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ria_raw"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RiaRawRecord(\n",
       "    title='большинство детей, которых пытались увезти в сша из гаити, не сироты',\n",
       "    text='<p><strong></strong></p>\\n<p><strong>москва, 31 янв - риа новости.</strong> большая часть из 33 детей, которых граждане сша пытались вывезти из гаити в организованный в доминиканской республике приют, не являются сиротами, сообщает в воскресенье <a href=\"http://www.afp.com\" target=\"_blank\">агентство франс пресс</a> со ссылкой на заявление представителя международной организации \"детские деревни sos\" (sos children\\'s village), оказывающей помощь детям, оставшимся без родителей</p>\\n<p>как заявила агентству патрисия варгас (patricia vargas), курирующая программы \"детских деревень sos\" в центральной америке, мексике и на карибах, поговорив с детьми она выяснила, что родители многих из них живы. некоторые дети смогли назвать свои домашние адреса и номера телефонов, что дает возможность связаться с их родителями.</p>\\n<p>в это воскресенье <a href=\"http://rian.ru/society/20100131/207037914.html\" target=\"_blank\">гаитянская полиция задержала десятерых граждан сша</a>, подозреваемых в попытке без разрешения вывезти более 30 детей в доминиканскую республику.</p>\\n<p>представитель баптистской церкви в городе меридиан американского штата айдахо шон лэнкфорд (sean lankford) заявил, что задержанные прибыли на гаити в составе группы, помогающей детям, которые остались без родителей после разрушительного землетрясения 12 января.</p>\\n<p>лэнкфорд также сообщил, что в числе задержанных его дочь и жена, и они думали, что у них имеются все необходимые документы, позволяющие вывезти детей в организованный в доминиканской республике приют.</p>\\n<p>в настоящее время все эти дети, за исключением маленькой девочки, страдающей от истощения, которая была госпитализирована, находятся в благотворительном центре организации в городе круа-де-букет (croix des bouquets), расположенном в 12 километрах к северо-востоку от столицы гаити порт-о-пренса.</p>\\n<p>по словам варгас, точный возраст малышки не известен, врачи полагают, что ей около 7 месяцев.</p>\\n<p>центр \"детских деревень sos\" на гаити юридически не является сиротским приютом и не отдает детей на усыновление.</p>\\n<p><em><strong>ранее гаитянские интернет-ресурсы сообщали, что</strong></em> <strong><a href=\"http://www.rian.ru/society/20100128/206736391.html\" target=\"_blank\">за  детьми, оставшимися сиротами после землетрясения, охотятся педофилы и торговцы  людьми &gt;&gt;</a></strong></p>\\n<p>как отмечает франс пресс, после разгула стихии на гаити были установлены новые правила усыновления, согласно которым премьер-министр страны жан-макс бельрив должен лично разрешить вывоз сирот. целью подобных мер является пресечение попыток незаконного вывоза детей для преступных целей в условиях хаоса, царящего в стране после разгула стихии.</p>\\n<p>по данным ответственных лиц на гаити, тысячи детей могли быть разлучены с родителями или лишиться их в результате <a href=\"http://www.rian.ru/trend/earthquake_haiti_13012010/\" target=\"_blank\">двух землетрясений магнитудой 7 и 5,9</a>, произошедших у побережья этого островного государства 12 января.</p>'\n",
       ")"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ria_raw\n",
    "\n",
    "path = 'data/ria.json.gz'\n",
    "records = load_ria_raw(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ria"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RiaRecord(\n",
       "    title='большинство детей, которых пытались увезти в сша из гаити, не сироты',\n",
       "    prefix='москва, 31 янв - риа новости.',\n",
       "    text='большая часть из 33 детей, которых граждане сша пытались вывезти из гаити в организованный в доминиканской республике приют, не являются сиротами, сообщает в воскресенье агентство франс пресс со ссылкой на заявление представителя международной организации \"детские деревни sos\" (sos children\\'s village), оказывающей помощь детям, оставшимся без родителей\\nкак заявила агентству патрисия варгас (patricia vargas), курирующая программы \"детских деревень sos\" в центральной америке, мексике и на карибах, поговорив с детьми она выяснила, что родители многих из них живы. некоторые дети смогли назвать свои домашние адреса и номера телефонов, что дает возможность связаться с их родителями.\\nв это воскресенье гаитянская полиция задержала десятерых граждан сша, подозреваемых в попытке без разрешения вывезти более 30 детей в доминиканскую республику.\\nпредставитель баптистской церкви в городе меридиан американского штата айдахо шон лэнкфорд (sean lankford) заявил, что задержанные прибыли на гаити в составе группы, помогающей детям, которые остались без родителей после разрушительного землетрясения 12 января.\\nлэнкфорд также сообщил, что в числе задержанных его дочь и жена, и они думали, что у них имеются все необходимые документы, позволяющие вывезти детей в организованный в доминиканской республике приют.\\nв настоящее время все эти дети, за исключением маленькой девочки, страдающей от истощения, которая была госпитализирована, находятся в благотворительном центре организации в городе круа-де-букет (croix des bouquets), расположенном в 12 километрах к северо-востоку от столицы гаити порт-о-пренса.\\nпо словам варгас, точный возраст малышки не известен, врачи полагают, что ей около 7 месяцев.\\nцентр \"детских деревень sos\" на гаити юридически не является сиротским приютом и не отдает детей на усыновление.\\nранее гаитянские интернет-ресурсы сообщали, что за  детьми, оставшимися сиротами после землетрясения, охотятся педофилы и торговцы  людьми >>\\nкак отмечает франс пресс, после разгула стихии на гаити были установлены новые правила усыновления, согласно которым премьер-министр страны жан-макс бельрив должен лично разрешить вывоз сирот. целью подобных мер является пресечение попыток незаконного вывоза детей для преступных целей в условиях хаоса, царящего в стране после разгула стихии.\\nпо данным ответственных лиц на гаити, тысячи детей могли быть разлучены с родителями или лишиться их в результате двух землетрясений магнитудой 7 и 5,9, произошедших у побережья этого островного государства 12 января.'\n",
       ")"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ria\n",
    "\n",
    "path = 'data/ria.json.gz'\n",
    "records = load_ria(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ud_gsd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "UDSent(\n",
       "    id='dev-s3',\n",
       "    text='Он и являлся&#39;&#39; полным властелином всей Ахсауской местности&#39;&#39; и родоначальником Телакуровых, построивших здесь свой замок.',\n",
       "    attrs={},\n",
       "    tokens=[UDToken(\n",
       "         id='1',\n",
       "         text='Он',\n",
       "         lemma='он',\n",
       "         pos='PRON',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing',\n",
       "          'Person': '3'},\n",
       "         head_id='3',\n",
       "         rel='nsubj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='2',\n",
       "         text='и',\n",
       "         lemma='и',\n",
       "         pos='PART',\n",
       "         feats={},\n",
       "         head_id='3',\n",
       "         rel='advmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='3',\n",
       "         text='являлся',\n",
       "         lemma='являться',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Imp',\n",
       "          'Gender': 'Masc',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Sing',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Mid'},\n",
       "         head_id='0',\n",
       "         rel='root'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='4',\n",
       "         text='&#39;&#39;',\n",
       "         lemma='&#39;&#39;',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='6',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='5',\n",
       "         text='полным',\n",
       "         lemma='полный',\n",
       "         pos='ADJ',\n",
       "         feats={'Case': 'Ins',\n",
       "          'Degree': 'Pos',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='6',\n",
       "         rel='amod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='6',\n",
       "         text='властелином',\n",
       "         lemma='властелин',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Ins',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='3',\n",
       "         rel='xcomp'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='7',\n",
       "         text='всей',\n",
       "         lemma='весь',\n",
       "         pos='DET',\n",
       "         feats={'Case': 'Gen',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='9',\n",
       "         rel='det'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='8',\n",
       "         text='Ахсауской',\n",
       "         lemma='ахсауский',\n",
       "         pos='ADJ',\n",
       "         feats={'Case': 'Gen',\n",
       "          'Degree': 'Pos',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='9',\n",
       "         rel='amod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='9',\n",
       "         text='местности',\n",
       "         lemma='местность',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Gen',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='6',\n",
       "         rel='nmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='10',\n",
       "         text='&#39;&#39;',\n",
       "         lemma='&#39;&#39;',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='6',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='11',\n",
       "         text='и',\n",
       "         lemma='и',\n",
       "         pos='CCONJ',\n",
       "         feats={},\n",
       "         head_id='12',\n",
       "         rel='cc'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='12',\n",
       "         text='родоначальником',\n",
       "         lemma='родоначальник',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Ins',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='6',\n",
       "         rel='conj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='13',\n",
       "         text='Телакуровых',\n",
       "         lemma='Телакуров',\n",
       "         pos='PROPN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Gen',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Plur'},\n",
       "         head_id='12',\n",
       "         rel='nmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='14',\n",
       "         text=',',\n",
       "         lemma=',',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='15',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='15',\n",
       "         text='построивших',\n",
       "         lemma='построить',\n",
       "         pos='VERB',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Aspect': 'Perf',\n",
       "          'Case': 'Gen',\n",
       "          'Number': 'Plur',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Part',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='13',\n",
       "         rel='acl'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='16',\n",
       "         text='здесь',\n",
       "         lemma='здесь',\n",
       "         pos='ADV',\n",
       "         feats={'Degree': 'Pos'},\n",
       "         head_id='15',\n",
       "         rel='advmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='17',\n",
       "         text='свой',\n",
       "         lemma='свой',\n",
       "         pos='DET',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='18',\n",
       "         rel='det'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='18',\n",
       "         text='замок',\n",
       "         lemma='замок',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='15',\n",
       "         rel='obj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='19',\n",
       "         text='.',\n",
       "         lemma='.',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='6',\n",
       "         rel='punct'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ud_gsd\n",
    "\n",
    "path = 'data/ud/ru_gsd-ud-dev.conllu'\n",
    "records = load_ud_gsd(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ud_taiga"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "UDSent(\n",
       "    id='instagram-16',\n",
       "    text='@screened-88 ✅взабраться на статую Христа - только что!😄',\n",
       "    attrs={'newpar': None,\n",
       "     'speaker': 'screened-18',\n",
       "     'genre': 'social'},\n",
       "    tokens=[UDToken(\n",
       "         id='1',\n",
       "         text='@screened-88',\n",
       "         lemma='@screened-88',\n",
       "         pos='X',\n",
       "         feats={'Foreign': 'Yes'},\n",
       "         head_id='3',\n",
       "         rel='vocative'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='2',\n",
       "         text='✅',\n",
       "         lemma='✅',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='3',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='3',\n",
       "         text='взабраться',\n",
       "         lemma='взобраться',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Perf',\n",
       "          'VerbForm': 'Inf',\n",
       "          'Voice': 'Mid'},\n",
       "         head_id='0',\n",
       "         rel='root'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='4',\n",
       "         text='на',\n",
       "         lemma='на',\n",
       "         pos='ADP',\n",
       "         feats={},\n",
       "         head_id='5',\n",
       "         rel='case'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='5',\n",
       "         text='статую',\n",
       "         lemma='статуя',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='3',\n",
       "         rel='obl'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='6',\n",
       "         text='Христа',\n",
       "         lemma='Христос',\n",
       "         pos='PROPN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Gen',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='5',\n",
       "         rel='nmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='7',\n",
       "         text='-',\n",
       "         lemma='-',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='9',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='8',\n",
       "         text='только',\n",
       "         lemma='только',\n",
       "         pos='PART',\n",
       "         feats={},\n",
       "         head_id='9',\n",
       "         rel='advmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='9',\n",
       "         text='что',\n",
       "         lemma='что',\n",
       "         pos='PRON',\n",
       "         feats={'Case': 'Nom'},\n",
       "         head_id='3',\n",
       "         rel='parataxis'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='10',\n",
       "         text='!',\n",
       "         lemma='!',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='3',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='11',\n",
       "         text='😄',\n",
       "         lemma='😄',\n",
       "         pos='SYM',\n",
       "         feats={},\n",
       "         head_id='3',\n",
       "         rel='discourse'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ud_taiga\n",
    "\n",
    "path = 'data/ud/ru_taiga-ud-dev.conllu'\n",
    "records = load_ud_taiga(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ud_pud"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "UDSent(\n",
       "    id='n01010042',\n",
       "    text='«Был момент, — сказал господин Панвалкар, — когда он чувствовал, что они должны покинуть здание».',\n",
       "    attrs={'newdoc id': 'n01010',\n",
       "     'english_text': 'There was a time, Mr Panvalkar said, when he felt that they should leave the building.'},\n",
       "    tokens=[UDToken(\n",
       "         id='1',\n",
       "         text='«',\n",
       "         lemma='«',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='2',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='2',\n",
       "         text='Был',\n",
       "         lemma='быть',\n",
       "         pos='AUX',\n",
       "         feats={'Aspect': 'Imp',\n",
       "          'Gender': 'Masc',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Sing',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='0',\n",
       "         rel='root'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='3',\n",
       "         text='момент',\n",
       "         lemma='момент',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='2',\n",
       "         rel='nsubj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='4',\n",
       "         text=',',\n",
       "         lemma=',',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='6',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='5',\n",
       "         text='—',\n",
       "         lemma='—',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='6',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='6',\n",
       "         text='сказал',\n",
       "         lemma='сказать',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Perf',\n",
       "          'Gender': 'Masc',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Sing',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='2',\n",
       "         rel='parataxis'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='7',\n",
       "         text='господин',\n",
       "         lemma='господин',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='6',\n",
       "         rel='nsubj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='8',\n",
       "         text='Панвалкар',\n",
       "         lemma='Панвалкар',\n",
       "         pos='PROPN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='7',\n",
       "         rel='flat:name'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='9',\n",
       "         text=',',\n",
       "         lemma=',',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='6',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='10',\n",
       "         text='—',\n",
       "         lemma='—',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='6',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='11',\n",
       "         text='когда',\n",
       "         lemma='когда',\n",
       "         pos='SCONJ',\n",
       "         feats={},\n",
       "         head_id='13',\n",
       "         rel='mark'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='12',\n",
       "         text='он',\n",
       "         lemma='он',\n",
       "         pos='PRON',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing',\n",
       "          'Person': '3'},\n",
       "         head_id='13',\n",
       "         rel='nsubj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='13',\n",
       "         text='чувствовал',\n",
       "         lemma='чувствовать',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Imp',\n",
       "          'Gender': 'Masc',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Sing',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='3',\n",
       "         rel='advcl'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='14',\n",
       "         text=',',\n",
       "         lemma=',',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='17',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='15',\n",
       "         text='что',\n",
       "         lemma='что',\n",
       "         pos='SCONJ',\n",
       "         feats={},\n",
       "         head_id='17',\n",
       "         rel='mark'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='16',\n",
       "         text='они',\n",
       "         lemma='они',\n",
       "         pos='PRON',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Number': 'Plur',\n",
       "          'Person': '3'},\n",
       "         head_id='17',\n",
       "         rel='nsubj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='17',\n",
       "         text='должны',\n",
       "         lemma='должен',\n",
       "         pos='ADJ',\n",
       "         feats={'Degree': 'Pos',\n",
       "          'Number': 'Plur',\n",
       "          'Variant': 'Short'},\n",
       "         head_id='13',\n",
       "         rel='ccomp'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='18',\n",
       "         text='покинуть',\n",
       "         lemma='покинуть',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Perf',\n",
       "          'VerbForm': 'Inf',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='17',\n",
       "         rel='xcomp'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='19',\n",
       "         text='здание',\n",
       "         lemma='здание',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Neut',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='18',\n",
       "         rel='obj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='20',\n",
       "         text='»',\n",
       "         lemma='»',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='2',\n",
       "         rel='punct'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='21',\n",
       "         text='.',\n",
       "         lemma='.',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='2',\n",
       "         rel='punct'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ud_pud\n",
    "\n",
    "path = 'data/ud/ru_pud-ud-test.conllu'\n",
    "records = load_ud_pud(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ud_syntag"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "UDSent(\n",
       "    id='2013Algoritm.xml_16',\n",
       "    text='Различные определения алгоритма в явной или неявной форме содержат следующий ряд общих требований:',\n",
       "    attrs={},\n",
       "    tokens=[UDToken(\n",
       "         id='1',\n",
       "         text='Различные',\n",
       "         lemma='различный',\n",
       "         pos='ADJ',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Degree': 'Pos',\n",
       "          'Number': 'Plur'},\n",
       "         head_id='2',\n",
       "         rel='amod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='2',\n",
       "         text='определения',\n",
       "         lemma='определение',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Neut',\n",
       "          'Number': 'Plur'},\n",
       "         head_id='9',\n",
       "         rel='nsubj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='3',\n",
       "         text='алгоритма',\n",
       "         lemma='алгоритм',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Gen',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='2',\n",
       "         rel='nmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='4',\n",
       "         text='в',\n",
       "         lemma='в',\n",
       "         pos='ADP',\n",
       "         feats={},\n",
       "         head_id='8',\n",
       "         rel='case'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='5',\n",
       "         text='явной',\n",
       "         lemma='явный',\n",
       "         pos='ADJ',\n",
       "         feats={'Case': 'Loc',\n",
       "          'Degree': 'Pos',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='8',\n",
       "         rel='amod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='6',\n",
       "         text='или',\n",
       "         lemma='или',\n",
       "         pos='CCONJ',\n",
       "         feats={},\n",
       "         head_id='7',\n",
       "         rel='cc'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='7',\n",
       "         text='неявной',\n",
       "         lemma='неявный',\n",
       "         pos='ADJ',\n",
       "         feats={'Case': 'Loc',\n",
       "          'Degree': 'Pos',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='5',\n",
       "         rel='conj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='8',\n",
       "         text='форме',\n",
       "         lemma='форма',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Loc',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='9',\n",
       "         rel='obl'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='9',\n",
       "         text='содержат',\n",
       "         lemma='содержать',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Imp',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Plur',\n",
       "          'Person': '3',\n",
       "          'Tense': 'Pres',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='0',\n",
       "         rel='root'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='10',\n",
       "         text='следующий',\n",
       "         lemma='следующий',\n",
       "         pos='ADJ',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Degree': 'Pos',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='11',\n",
       "         rel='amod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='11',\n",
       "         text='ряд',\n",
       "         lemma='ряд',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='9',\n",
       "         rel='obj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='12',\n",
       "         text='общих',\n",
       "         lemma='общий',\n",
       "         pos='ADJ',\n",
       "         feats={'Case': 'Gen',\n",
       "          'Degree': 'Pos',\n",
       "          'Number': 'Plur'},\n",
       "         head_id='13',\n",
       "         rel='amod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='13',\n",
       "         text='требований',\n",
       "         lemma='требование',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Gen',\n",
       "          'Gender': 'Neut',\n",
       "          'Number': 'Plur'},\n",
       "         head_id='11',\n",
       "         rel='nmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='14',\n",
       "         text=':',\n",
       "         lemma=':',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='9',\n",
       "         rel='punct'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ud_syntag\n",
    "\n",
    "path = 'data/ud/ru_syntagrus-ud-dev.conllu'\n",
    "records = load_ud_syntag(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_morphoru_gicrya"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MorphoSent(\n",
       "    tokens=[MorphoToken(\n",
       "         text='А',\n",
       "         lemma='а',\n",
       "         pos='CONJ',\n",
       "         feats={},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='потом',\n",
       "         lemma='потом',\n",
       "         pos='ADV',\n",
       "         feats={'Degree': 'Pos'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='опять',\n",
       "         lemma='опять',\n",
       "         pos='ADV',\n",
       "         feats={'Degree': 'Pos'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='появлялись',\n",
       "         lemma='появляться',\n",
       "         pos='VERB',\n",
       "         feats={'Mood': 'Ind',\n",
       "          'Number': 'Plur',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Mid'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='эсэсовцы',\n",
       "         lemma='эсэсовец',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Plur'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='.',\n",
       "         lemma='.',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2=None\n",
       "     )],\n",
       "    attrs=()\n",
       ")"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_morphoru_gicrya\n",
    "\n",
    "path = 'data/morphoru/gikrya_new_test.out'\n",
    "records = load_morphoru_gicrya(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_morphoru_rnc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MorphoSent(\n",
       "    tokens=[MorphoToken(\n",
       "         text='Кстати',\n",
       "         lemma='кстати',\n",
       "         pos='H',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='о',\n",
       "         lemma='о',\n",
       "         pos='ADP',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='вопросе',\n",
       "         lemma='вопрос',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Loc',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='\"',\n",
       "         lemma='\"',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='Пушкин',\n",
       "         lemma='Пушкин',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         feats2={'NameType': 'Sur'}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='и',\n",
       "         lemma='и',\n",
       "         pos='CONJ',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='святитель',\n",
       "         lemma='святитель',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='Филарет',\n",
       "         lemma='Филарет',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         feats2={'NameType': 'Giv'}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text=',',\n",
       "         lemma=',',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='митрополит',\n",
       "         lemma='митрополит',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Anim',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='Московский',\n",
       "         lemma='московский',\n",
       "         pos='ADJ',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing',\n",
       "          'Variant': 'Full'},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='\"...',\n",
       "         lemma='\"...',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='ты',\n",
       "         lemma='ты',\n",
       "         pos='PRON',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Number': 'Sing',\n",
       "          'Person': '2'},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='надумал',\n",
       "         lemma='надумать',\n",
       "         pos='VERB',\n",
       "         feats={'Gender': 'Masc',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Sing',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Act'},\n",
       "         feats2={'Subcat': 'Tran',\n",
       "          'Aspect': 'Perf'}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text=',',\n",
       "         lemma=',',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='что',\n",
       "         lemma='что',\n",
       "         pos='PRON',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Neut',\n",
       "          'Number': 'Sing'},\n",
       "         feats2={}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='можно',\n",
       "         lemma='можно',\n",
       "         pos='ADV',\n",
       "         feats={'Degree': 'Pos'},\n",
       "         feats2={'Predic': 'Yes'}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='сказать',\n",
       "         lemma='сказать',\n",
       "         pos='VERB',\n",
       "         feats={'VerbForm': 'Inf',\n",
       "          'Voice': 'Act'},\n",
       "         feats2={'Subcat': 'Tran',\n",
       "          'Aspect': 'Perf'}\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='?',\n",
       "         lemma='?',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2={}\n",
       "     )],\n",
       "    attrs=['==> blogs.xhtml <==',\n",
       "     '==newfile==']\n",
       ")"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_morphoru_rnc\n",
    "\n",
    "path = 'data/morphoru/RNCgoldInUD_Morpho.conll'\n",
    "records = load_morphoru_rnc(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_morphoru_corpora"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MorphoSent(\n",
       "    tokens=[MorphoToken(\n",
       "         text='«',\n",
       "         lemma='«',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='Школа',\n",
       "         lemma='ШКОЛА',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Nom',\n",
       "          'Gender': 'Fem',\n",
       "          'Number': 'Sing'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='злословия',\n",
       "         lemma='ЗЛОСЛОВИЕ',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Gen',\n",
       "          'Gender': 'Neut',\n",
       "          'Number': 'Sing'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='»',\n",
       "         lemma='»',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='учит',\n",
       "         lemma='УЧИТЬ',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Imp',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Sing',\n",
       "          'Person': '3',\n",
       "          'Tense': 'Notpast',\n",
       "          'VerbForm': 'Fin'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='прикусить',\n",
       "         lemma='ПРИКУСИТЬ',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Perf',\n",
       "          'VerbForm': 'Inf'},\n",
       "         feats2=None\n",
       "     ),\n",
       "     MorphoToken(\n",
       "         text='язык',\n",
       "         lemma='ЯЗЫК',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         feats2=None\n",
       "     )],\n",
       "    attrs=()\n",
       ")"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_morphoru_corpora\n",
    "\n",
    "path = 'data/morphoru/unamb_sent_14_6.conllu'\n",
    "records = load_morphoru_corpora(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_gramru"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "UDSent(\n",
       "    id=None,\n",
       "    text=None,\n",
       "    attrs={},\n",
       "    tokens=[UDToken(\n",
       "         id='1',\n",
       "         text='А',\n",
       "         lemma='а',\n",
       "         pos='CCONJ',\n",
       "         feats={},\n",
       "         head_id='5',\n",
       "         rel='cc'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='2',\n",
       "         text='потом',\n",
       "         lemma='потом',\n",
       "         pos='ADV',\n",
       "         feats={'Degree': 'Pos'},\n",
       "         head_id='5',\n",
       "         rel='advmod'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='3',\n",
       "         text='мы',\n",
       "         lemma='мы',\n",
       "         pos='PRON',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Number': 'Plur',\n",
       "          'Person': '1'},\n",
       "         head_id='5',\n",
       "         rel='nsubj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='4',\n",
       "         text='все',\n",
       "         lemma='весь',\n",
       "         pos='DET',\n",
       "         feats={'Case': 'Nom',\n",
       "          'Number': 'Plur'},\n",
       "         head_id='3',\n",
       "         rel='det'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='5',\n",
       "         text='погрузились',\n",
       "         lemma='погружаться',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Perf',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Plur',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Mid'},\n",
       "         head_id='0',\n",
       "         rel='root'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='6',\n",
       "         text='в',\n",
       "         lemma='в',\n",
       "         pos='ADP',\n",
       "         feats={},\n",
       "         head_id='7',\n",
       "         rel='case'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='7',\n",
       "         text='автобус',\n",
       "         lemma='автобус',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='5',\n",
       "         rel='obl'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='8',\n",
       "         text='и',\n",
       "         lemma='и',\n",
       "         pos='CCONJ',\n",
       "         feats={},\n",
       "         head_id='9',\n",
       "         rel='cc'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='9',\n",
       "         text='поехали',\n",
       "         lemma='поехать',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Perf',\n",
       "          'Mood': 'Ind',\n",
       "          'Number': 'Plur',\n",
       "          'Tense': 'Past',\n",
       "          'VerbForm': 'Fin',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='5',\n",
       "         rel='conj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='10',\n",
       "         text='их',\n",
       "         lemma='они',\n",
       "         pos='PRON',\n",
       "         feats={'Case': 'Acc',\n",
       "          'Number': 'Plur',\n",
       "          'Person': '3'},\n",
       "         head_id='9',\n",
       "         rel='obj'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='11',\n",
       "         text='в',\n",
       "         lemma='в',\n",
       "         pos='ADP',\n",
       "         feats={},\n",
       "         head_id='12',\n",
       "         rel='case'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='12',\n",
       "         text='аэропорт',\n",
       "         lemma='аэропорт',\n",
       "         pos='NOUN',\n",
       "         feats={'Animacy': 'Inan',\n",
       "          'Case': 'Acc',\n",
       "          'Gender': 'Masc',\n",
       "          'Number': 'Sing'},\n",
       "         head_id='13',\n",
       "         rel='obl'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='13',\n",
       "         text='провожать',\n",
       "         lemma='провожать',\n",
       "         pos='VERB',\n",
       "         feats={'Aspect': 'Imp',\n",
       "          'VerbForm': 'Inf',\n",
       "          'Voice': 'Act'},\n",
       "         head_id='9',\n",
       "         rel='xcomp'\n",
       "     ),\n",
       "     UDToken(\n",
       "         id='14',\n",
       "         text='.',\n",
       "         lemma='.',\n",
       "         pos='PUNCT',\n",
       "         feats={},\n",
       "         head_id='13',\n",
       "         rel='punct'\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_gramru\n",
    "\n",
    "path = 'data/gramru/GramEval_private_test.conllu'\n",
    "records = load_gramru(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_corpora"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "CorporaText(\n",
       "    id='1000',\n",
       "    parent_id='226',\n",
       "    name='21820 Коморовский солидарен с Туском в оценке отчёта МАК',\n",
       "    tags=['url:http://www.chaskor.ru/news/komorovskij_solidaren_s_tuskom_v_otsenke_otcheta_mak_21820',\n",
       "     'Год:2011',\n",
       "     'Дата:14/01',\n",
       "     'Тема:ЧасКор:В мире',\n",
       "     'Тема:ЧасКор:В мире/Европа'],\n",
       "    pars=[CorporaPar(\n",
       "         id='9865',\n",
       "         sents=[CorporaSent(\n",
       "              id='30908',\n",
       "              text='Коморовский солидарен с Туском в оценке отчёта МАК',\n",
       "              tokens=[CorporaToken(\n",
       "                   id='553738',\n",
       "                   rev_id='1386821',\n",
       "                   text='Коморовский',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='0',\n",
       "                        text='коморовский',\n",
       "                        grams=['UNKN']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553739',\n",
       "                   rev_id='1386822',\n",
       "                   text='солидарен',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='328999',\n",
       "                        text='солидарен',\n",
       "                        grams=['ADJS',\n",
       "                         'Qual',\n",
       "                         'masc',\n",
       "                         'sing']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553740',\n",
       "                   rev_id='1386823',\n",
       "                   text='с',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='311151',\n",
       "                        text='с',\n",
       "                        grams=['PREP']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553741',\n",
       "                   rev_id='4507175',\n",
       "                   text='Туском',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='390933',\n",
       "                        text='туск',\n",
       "                        grams=['NOUN',\n",
       "                         'anim',\n",
       "                         'masc',\n",
       "                         'Sgtm',\n",
       "                         'Surn',\n",
       "                         'sing',\n",
       "                         'ablt']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553742',\n",
       "                   rev_id='1386825',\n",
       "                   text='в',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='37409',\n",
       "                        text='в',\n",
       "                        grams=['PREP']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553743',\n",
       "                   rev_id='3540152',\n",
       "                   text='оценке',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='221498',\n",
       "                        text='оценка',\n",
       "                        grams=['NOUN',\n",
       "                         'inan',\n",
       "                         'femn',\n",
       "                         'sing',\n",
       "                         'loct']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553744',\n",
       "                   rev_id='1386827',\n",
       "                   text='отчёта',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='219980',\n",
       "                        text='отчёт',\n",
       "                        grams=['NOUN',\n",
       "                         'inan',\n",
       "                         'masc',\n",
       "                         'sing',\n",
       "                         'gent']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553745',\n",
       "                   rev_id='4495999',\n",
       "                   text='МАК',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='389925',\n",
       "                        text='мак',\n",
       "                        grams=['NOUN',\n",
       "                         'inan',\n",
       "                         'masc',\n",
       "                         'Sgtm',\n",
       "                         'Fixd',\n",
       "                         'Abbr',\n",
       "                         'Orgn',\n",
       "                         'sing',\n",
       "                         'gent']\n",
       "                    )]\n",
       "               )]\n",
       "          ),\n",
       "          CorporaSent(\n",
       "              id='30909',\n",
       "              text='Однако фундаментальных возражений к выводам комиссии у Варшавы нет.',\n",
       "              tokens=[CorporaToken(\n",
       "                   id='553746',\n",
       "                   rev_id='2624489',\n",
       "                   text='Однако',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='203386',\n",
       "                        text='однако',\n",
       "                        grams=['INTJ']\n",
       "                    ),\n",
       "                    CorporaForm(\n",
       "                        id='203387',\n",
       "                        text='однако',\n",
       "                        grams=['CONJ',\n",
       "                         'Prnt']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553747',\n",
       "                   rev_id='4312891',\n",
       "                   text='фундаментальных',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='368633',\n",
       "                        text='фундаментальный',\n",
       "                        grams=['ADJF',\n",
       "                         'Qual',\n",
       "                         'plur',\n",
       "                         'gent']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553748',\n",
       "                   rev_id='1386831',\n",
       "                   text='возражений',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='49606',\n",
       "                        text='возражение',\n",
       "                        grams=['NOUN',\n",
       "                         'inan',\n",
       "                         'neut',\n",
       "                         'plur',\n",
       "                         'gent']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553749',\n",
       "                   rev_id='1386832',\n",
       "                   text='к',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='127460',\n",
       "                        text='к',\n",
       "                        grams=['PREP']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553750',\n",
       "                   rev_id='1386833',\n",
       "                   text='выводам',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='56345',\n",
       "                        text='вывод',\n",
       "                        grams=['NOUN',\n",
       "                         'inan',\n",
       "                         'masc',\n",
       "                         'plur',\n",
       "                         'datv']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553751',\n",
       "                   rev_id='4288196',\n",
       "                   text='комиссии',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='136905',\n",
       "                        text='комиссия',\n",
       "                        grams=['NOUN',\n",
       "                         'inan',\n",
       "                         'femn',\n",
       "                         'sing',\n",
       "                         'gent']\n",
       "                    )]\n",
       "               ),\n",
       "               CorporaToken(\n",
       "                   id='553752',\n",
       "                   rev_id='3301950',\n",
       "                   text='у',\n",
       "                   forms=[CorporaForm(\n",
       "                        id='352818',\n",
       "                        text='у',\n",
       "                        grams=['PREP']\n",
       "                    )]\n",
       "               )]\n",
       "          )]\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_corpora\n",
    "\n",
    "path = 'data/annot.opcorpora.xml.byfile.zip'\n",
    "records = load_corpora(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_russe_hj"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[RusseSemRecord(\n",
       "     word1='автомобиль',\n",
       "     word2='машина',\n",
       "     sim=0.958333\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='маг',\n",
       "     word2='волшебник',\n",
       "     sim=0.958333\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='доллар',\n",
       "     word2='бакс',\n",
       "     sim=0.952381\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='мальчик',\n",
       "     word2='парень',\n",
       "     sim=0.952381\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='машина',\n",
       "     word2='автомобиль',\n",
       "     sim=0.952381\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='кладбище',\n",
       "     word2='погост',\n",
       "     sim=0.916667\n",
       " )]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_russe_hj\n",
    "\n",
    "path = 'data/russe/sem/hj.csv'\n",
    "records = load_russe_hj(path)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_russe_rt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[RusseSemRecord(\n",
       "     word1='аберрация',\n",
       "     word2='год',\n",
       "     sim=0.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='аберрация',\n",
       "     word2='человек',\n",
       "     sim=0.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='аберрация',\n",
       "     word2='заблуждение',\n",
       "     sim=1.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абзац',\n",
       "     word2='отрывок',\n",
       "     sim=1.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абзац',\n",
       "     word2='время',\n",
       "     sim=0.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абзац',\n",
       "     word2='район',\n",
       "     sim=0.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абиссиния',\n",
       "     word2='население',\n",
       "     sim=0.0\n",
       " )]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_russe_rt\n",
    "\n",
    "path = 'data/russe/sem/rt.csv'\n",
    "records = load_russe_rt(path)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_russe_ae"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[RusseSemRecord(\n",
       "     word1='абажур',\n",
       "     word2='торшер',\n",
       "     sim=1.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абажур',\n",
       "     word2='люстра',\n",
       "     sim=1.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абажур',\n",
       "     word2='лампа',\n",
       "     sim=1.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абажур',\n",
       "     word2='свет',\n",
       "     sim=1.0\n",
       " ),\n",
       " RusseSemRecord(\n",
       "     word1='абажур',\n",
       "     word2='ночник',\n",
       "     sim=1.0\n",
       " )]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_russe_ae\n",
    "\n",
    "path = 'data/russe/sem/ae2.csv'\n",
    "records = load_russe_ae(path)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_toloka_lrwc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[LRWCRecord(\n",
       "     hyponym='автомобиль',\n",
       "     hypernym='автомашина',\n",
       "     genitive='автомашины',\n",
       "     judgement=1.0,\n",
       "     confidence=99.75\n",
       " ),\n",
       " LRWCRecord(\n",
       "     hyponym='автомобиль',\n",
       "     hypernym='автомототранспорт',\n",
       "     genitive='автомототранспорта',\n",
       "     judgement=1.0,\n",
       "     confidence=99.96\n",
       " ),\n",
       " LRWCRecord(\n",
       "     hyponym='автомобиль',\n",
       "     hypernym='автомототранспортный',\n",
       "     genitive='автомототранспортного',\n",
       "     judgement=1.0,\n",
       "     confidence=99.99\n",
       " ),\n",
       " LRWCRecord(\n",
       "     hyponym='автомобиль',\n",
       "     hypernym='автомототранспортное_средство',\n",
       "     genitive='автомототранспортного_средства',\n",
       "     judgement=1.0,\n",
       "     confidence=99.99\n",
       " ),\n",
       " LRWCRecord(\n",
       "     hyponym='автомобиль',\n",
       "     hypernym='внедорожник',\n",
       "     genitive='внедорожника',\n",
       "     judgement=0.0,\n",
       "     confidence=61.28\n",
       " ),\n",
       " LRWCRecord(\n",
       "     hyponym='автомобиль',\n",
       "     hypernym='железный_конь',\n",
       "     genitive='железного_коня',\n",
       "     judgement=0.0,\n",
       "     confidence=77.76\n",
       " )]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_toloka_lrwc\n",
    "\n",
    "path = 'data/toloka/lrwc-1.1-aggregated.tsv'\n",
    "records = load_toloka_lrwc(path)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_simlex"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[SimlexRecord(\n",
       "     word1='авария_NOUN',\n",
       "     word2='бедствие_NOUN',\n",
       "     score=6.15\n",
       " ),\n",
       " SimlexRecord(\n",
       "     word1='август_NOUN',\n",
       "     word2='месяц_NOUN',\n",
       "     score=2.85\n",
       " ),\n",
       " SimlexRecord(\n",
       "     word1='авиация_NOUN',\n",
       "     word2='полет_NOUN',\n",
       "     score=6.77\n",
       " ),\n",
       " SimlexRecord(\n",
       "     word1='эксцентричный_ADJ',\n",
       "     word2='странный_ADJ',\n",
       "     score=6.31\n",
       " ),\n",
       " SimlexRecord(\n",
       "     word1='эластичный_ADJ',\n",
       "     word2='гибкий_ADJ',\n",
       "     score=7.92\n",
       " ),\n",
       " SimlexRecord(\n",
       "     word1='элегантность_NOUN',\n",
       "     word2='стиль_NOUN',\n",
       "     score=6.46\n",
       " )]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_simlex\n",
    "\n",
    "path = 'data/simlex/ru_simlex965_tagged.tsv'\n",
    "records = load_simlex(path)\n",
    "list(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_omnia"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "OmniaDoc(\n",
       "    id='ta.ma.00000000',\n",
       "    attrs={'file': 'corpus_arion_100198.txt',\n",
       "     'path': 'Magazines/texts/corpus_arion_100198.txt'},\n",
       "    pars=[OmniaPar(\n",
       "         sents=[OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='Алексей',\n",
       "                   lemma='Алексей',\n",
       "                   atag='Nn',\n",
       "                   tag='Npmsny',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='Алехин',\n",
       "                   lemma='Алехин',\n",
       "                   atag='Nn',\n",
       "                   tag='Npmsny',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='—',\n",
       "                   lemma='--',\n",
       "                   atag='Zz',\n",
       "                   tag='-',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='Олег',\n",
       "                   lemma='Олег',\n",
       "                   atag='Nn',\n",
       "                   tag='Npmsny',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='Чухонцев',\n",
       "                   lemma='чухонцев',\n",
       "                   atag='Nn',\n",
       "                   tag='Npmsny',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               )]\n",
       "          )]\n",
       "     ),\n",
       "     OmniaPar(\n",
       "         sents=[OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='БЕСПОМОЩНОСТЬ',\n",
       "                   lemma='беспомощность',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncfsnn',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='ЛИРИКИ',\n",
       "                   lemma='лирика',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncfsgn',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               )]\n",
       "          )]\n",
       "     ),\n",
       "     OmniaPar(\n",
       "         sents=[OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='А.',\n",
       "                   lemma='А.',\n",
       "                   atag='Ab',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='a',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='А.',\n",
       "                   lemma='А.',\n",
       "                   atag='Ab',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='a',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='Вообще-то',\n",
       "                   lemma='Вообще-то',\n",
       "                   atag='Cj',\n",
       "                   tag='C',\n",
       "                   ztag='0',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='о',\n",
       "                   lemma='о',\n",
       "                   atag='Pp',\n",
       "                   tag='Sp-l',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='поэзии',\n",
       "                   lemma='поэзия',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncfsln',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='лучше',\n",
       "                   lemma='хорошо',\n",
       "                   atag='Av',\n",
       "                   tag='Rc',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='писать',\n",
       "                   lemma='писать',\n",
       "                   atag='Vb',\n",
       "                   tag='Vmn----a-e',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text=',',\n",
       "                   lemma=',',\n",
       "                   atag='Zz',\n",
       "                   tag=',',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='чем',\n",
       "                   lemma='чем',\n",
       "                   atag='Cj',\n",
       "                   tag='C',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='говорить',\n",
       "                   lemma='говорить',\n",
       "                   atag='Vb',\n",
       "                   tag='Vmn----a-e',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='...',\n",
       "                   lemma='...',\n",
       "                   atag='Zz',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='0',\n",
       "                   g=False\n",
       "               )]\n",
       "          )]\n",
       "     ),\n",
       "     OmniaPar(\n",
       "         sents=[OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='О.',\n",
       "                   lemma='О.',\n",
       "                   atag='Ab',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='a',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='Ч.',\n",
       "                   lemma='Ч.',\n",
       "                   atag='Ab',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='a',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='Ну',\n",
       "                   lemma='ну',\n",
       "                   atag='Pt',\n",
       "                   tag='Q',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='да',\n",
       "                   lemma='да',\n",
       "                   atag='Pt',\n",
       "                   tag='Q',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='.',\n",
       "                   lemma='.',\n",
       "                   atag='Zz',\n",
       "                   tag='SENT',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               )]\n",
       "          ),\n",
       "          OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='На',\n",
       "                   lemma='на',\n",
       "                   atag='Pp',\n",
       "                   tag='Sp-a',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='крайний',\n",
       "                   lemma='крайний',\n",
       "                   atag='Aj',\n",
       "                   tag='Afpmsaf',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='случай',\n",
       "                   lemma='случай',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncmsan',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='—',\n",
       "                   lemma='--',\n",
       "                   atag='Zz',\n",
       "                   tag='-',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='вести',\n",
       "                   lemma='вести',\n",
       "                   atag='Vb',\n",
       "                   tag='Vmn----a-e',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='разговор',\n",
       "                   lemma='разговор',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncmsan',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='\"',\n",
       "                   lemma='\"',\n",
       "                   atag='Zz',\n",
       "                   tag='-',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='из',\n",
       "                   lemma='из',\n",
       "                   atag='Pp',\n",
       "                   tag='Sp-g',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='двух',\n",
       "                   lemma='два',\n",
       "                   atag='Nm',\n",
       "                   tag='Mcm-g',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='углов',\n",
       "                   lemma='угол',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncmpgn',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='\"',\n",
       "                   lemma='\"',\n",
       "                   atag='Zz',\n",
       "                   tag='-',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text=',',\n",
       "                   lemma=',',\n",
       "                   atag='Zz',\n",
       "                   tag=',',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='письменно',\n",
       "                   lemma='письменно',\n",
       "                   atag='Av',\n",
       "                   tag='R',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='...',\n",
       "                   lemma='...',\n",
       "                   atag='Zz',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='0',\n",
       "                   g=False\n",
       "               )]\n",
       "          )]\n",
       "     ),\n",
       "     OmniaPar(\n",
       "         sents=[OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='А.',\n",
       "                   lemma='А.',\n",
       "                   atag='Ab',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='a',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='А.',\n",
       "                   lemma='А.',\n",
       "                   atag='Ab',\n",
       "                   tag='Afpmpaf',\n",
       "                   ztag='a',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='Что',\n",
       "                   lemma='что',\n",
       "                   atag='Pn',\n",
       "                   tag='P--nsan',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='делать',\n",
       "                   lemma='делать',\n",
       "                   atag='Vb',\n",
       "                   tag='Vmn----a-e',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='.',\n",
       "                   lemma='.',\n",
       "                   atag='Zz',\n",
       "                   tag='SENT',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               )]\n",
       "          ),\n",
       "          OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='У',\n",
       "                   lemma='у',\n",
       "                   atag='Pp',\n",
       "                   tag='Sp-g',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='нас-то',\n",
       "                   lemma='нас-то',\n",
       "                   atag='Pn',\n",
       "                   tag='P--nsnn',\n",
       "                   ztag='0',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='с',\n",
       "                   lemma='с',\n",
       "                   atag='Pp',\n",
       "                   tag='Sp-i',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='вами',\n",
       "                   lemma='вы',\n",
       "                   atag='Pn',\n",
       "                   tag='P-2-pin',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='устный',\n",
       "                   lemma='устный',\n",
       "                   atag='Aj',\n",
       "                   tag='Afpmsnf',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='\"',\n",
       "                   lemma='\"',\n",
       "                   atag='Zz',\n",
       "                   tag='-',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='формат',\n",
       "                   lemma='формат',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncmsnn',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='\"',\n",
       "                   lemma='\"',\n",
       "                   atag='Zz',\n",
       "                   tag='-',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='.',\n",
       "                   lemma='.',\n",
       "                   atag='Zz',\n",
       "                   tag='SENT',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               )]\n",
       "          ),\n",
       "          OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='Случайности',\n",
       "                   lemma='случайность',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncfsdn',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text=',',\n",
       "                   lemma=',',\n",
       "                   atag='Zz',\n",
       "                   tag=',',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='недоговоренности',\n",
       "                   lemma='недоговоренности',\n",
       "                   atag='Nn',\n",
       "                   tag='Ncfsdn',\n",
       "                   ztag='0',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='неизбежны',\n",
       "                   lemma='неизбежный',\n",
       "                   atag='Aj',\n",
       "                   tag='Afpmpns',\n",
       "                   ztag='1',\n",
       "                   g=True\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='.',\n",
       "                   lemma='.',\n",
       "                   atag='Zz',\n",
       "                   tag='SENT',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               )]\n",
       "          ),\n",
       "          OmniaSent(\n",
       "              tokens=[OmniaToken(\n",
       "                   text='Но',\n",
       "                   lemma='но',\n",
       "                   atag='Cj',\n",
       "                   tag='C',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='я',\n",
       "                   lemma='я',\n",
       "                   atag='Pn',\n",
       "                   tag='P-1-snn',\n",
       "                   ztag='1',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='все-таки',\n",
       "                   lemma='все-таки',\n",
       "                   atag='Pt',\n",
       "                   tag='Q',\n",
       "                   ztag='0',\n",
       "                   g=False\n",
       "               ),\n",
       "               OmniaToken(\n",
       "                   text='запасся',\n",
       "                   lemma='запасся',\n",
       "                   atag='Vb',\n",
       "                   tag='Vmis-smm-e',\n",
       "                   ztag='0',\n",
       "                   g=False\n",
       "               )]\n",
       "          )]\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_omnia\n",
    "\n",
    "path = 'data/ru_om1000a.x1_.xz'\n",
    "docs = load_omnia(path)\n",
    "next(docs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load_ruadrect"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RuADReCTRecord(\n",
       "    tweet_id='892079521922416641',\n",
       "    tweet='@A_Kapustin запретить на хрен..  недосмотр однако.. только прозак, только хардкор',\n",
       "    label='0'\n",
       ")"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_ruadrect\n",
    "\n",
    "path = 'data/toloka/ruadrect/task2_ru_test.tsv'\n",
    "records = load_ruadrect(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## load_rudrec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RuDReCRecord(\n",
       "    file_name='172744.tsv',\n",
       "    text='нам прописали, так мой ребенок сыпью покрылся, глаза опухли, сверху и снизу на веках высыпала сыпь, ( 8 месяцев сыну)А от виферона такого не было... У кого ещё такие побочки, отзовитесь!1 Чем спасались?\\n',\n",
       "    sentence_id=0,\n",
       "    entities=[RuDReCEntity(\n",
       "         entity_id='*[0]_se',\n",
       "         entity_text='виферона',\n",
       "         entity_type='Drugform',\n",
       "         start=122,\n",
       "         end=130,\n",
       "         concept_id='C0021735',\n",
       "         concept_name=nan\n",
       "     ),\n",
       "     RuDReCEntity(\n",
       "         entity_id='*[1]',\n",
       "         entity_text='сыпью покрылся',\n",
       "         entity_type='ADR',\n",
       "         start=31,\n",
       "         end=45,\n",
       "         concept_id='C0015230',\n",
       "         concept_name=nan\n",
       "     ),\n",
       "     RuDReCEntity(\n",
       "         entity_id='*[2]',\n",
       "         entity_text='глаза опухли',\n",
       "         entity_type='ADR',\n",
       "         start=47,\n",
       "         end=59,\n",
       "         concept_id='C4760994',\n",
       "         concept_name=nan\n",
       "     ),\n",
       "     RuDReCEntity(\n",
       "         entity_id='*[3]',\n",
       "         entity_text='на веках высыпала сыпь',\n",
       "         entity_type='ADR',\n",
       "         start=76,\n",
       "         end=98,\n",
       "         concept_id='C0015230',\n",
       "         concept_name=nan\n",
       "     )]\n",
       ")"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from corus import load_rudrec\n",
    "\n",
    "path = 'data/rudrec/rudrec_annotated.json'\n",
    "records = load_rudrec(path)\n",
    "next(records)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
